Merge pull request 'python: raise OSError when shared library is missing' (#44) from weaselbot/weaseljson:weaselbot/issue-38 into main
CI / build (-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, clang-arm64, ubuntu-latest-arm64, true) (push) Successful in 54s
CI / build (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc-arm64, ubuntu-latest-arm64, false) (push) Successful in 50s
CI / pre-commit (push) Successful in 52s
CI / build (-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, clang-amd64, ubuntu-latest-amd64, true) (push) Successful in 1m32s
CI / build (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc-amd64, ubuntu-latest-amd64, false) (push) Successful in 1m25s
CI / build (-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, clang-arm64, ubuntu-latest-arm64, true) (push) Successful in 54s
CI / build (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc-arm64, ubuntu-latest-arm64, false) (push) Successful in 50s
CI / pre-commit (push) Successful in 52s
CI / build (-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, clang-amd64, ubuntu-latest-amd64, true) (push) Successful in 1m32s
CI / build (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc-amd64, ubuntu-latest-amd64, false) (push) Successful in 1m25s
Reviewed-on: #44
This commit was merged in pull request #44.
This commit is contained in:
@@ -95,8 +95,20 @@ def test_create_rejects_too_small_stack():
|
||||
raise AssertionError(f"expected ValueError for stackSize={stack_size}")
|
||||
|
||||
|
||||
def test_missing_library_raises_oserror():
|
||||
try:
|
||||
weaseljson.WeaselJsonParser(
|
||||
weaseljson.WeaselJsonCallbacksBase(),
|
||||
build_dir="/nonexistent",
|
||||
)
|
||||
except OSError:
|
||||
return
|
||||
raise AssertionError("expected OSError when the shared library is missing")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_object_keys_routed_correctly()
|
||||
test_mixed_values()
|
||||
test_create_rejects_too_small_stack()
|
||||
test_missing_library_raises_oserror()
|
||||
print("python bindings ok")
|
||||
|
||||
+1
-7
@@ -84,13 +84,7 @@ class WeaselJsonParser:
|
||||
pass
|
||||
|
||||
if self._lib is None:
|
||||
import sys
|
||||
|
||||
print(
|
||||
"Could not find libweaseljson implementation",
|
||||
file=sys.stderr,
|
||||
)
|
||||
sys.exit(1)
|
||||
raise OSError(f"Could not load libweaseljson from {build_dir}")
|
||||
|
||||
self._lib.WeaselJsonParser_create.argtypes = (
|
||||
ctypes.c_int,
|
||||
|
||||
Reference in New Issue
Block a user