|
| 1 | +from suitesparse_graphblas import ffi, lib |
| 2 | + |
| 3 | + |
| 4 | +def test_print_jit_config(): |
| 5 | + print() |
| 6 | + print("===================================") |
| 7 | + print("Printing default JIT configurations") |
| 8 | + print("-----------------------------------") |
| 9 | + jit_c_control = { |
| 10 | + lib.GxB_JIT_OFF: "off", |
| 11 | + lib.GxB_JIT_PAUSE: "pause", |
| 12 | + lib.GxB_JIT_RUN: "run", |
| 13 | + lib.GxB_JIT_LOAD: "load", |
| 14 | + lib.GxB_JIT_ON: "on", |
| 15 | + } |
| 16 | + val_ptr = ffi.new("int32_t*") |
| 17 | + assert lib.GxB_Global_Option_get_INT32(lib.GxB_JIT_C_CONTROL, val_ptr) == lib.GrB_SUCCESS |
| 18 | + print("JIT_C_CONTROL", jit_c_control[val_ptr[0]]) |
| 19 | + |
| 20 | + assert lib.GxB_Global_Option_get_INT32(lib.GxB_JIT_USE_CMAKE, val_ptr) == lib.GrB_SUCCESS |
| 21 | + print("JIT_USE_CMAKE", bool(val_ptr[0])) |
| 22 | + |
| 23 | + func = lib.GxB_Global_Option_get_CHAR |
| 24 | + names = [ |
| 25 | + "JIT_C_COMPILER_NAME", |
| 26 | + "JIT_C_COMPILER_FLAGS", |
| 27 | + "JIT_C_LINKER_FLAGS", |
| 28 | + "JIT_C_LIBRARIES", |
| 29 | + "JIT_C_CMAKE_LIBS", |
| 30 | + "JIT_C_PREFACE", |
| 31 | + "JIT_ERROR_LOG", |
| 32 | + "JIT_CACHE_PATH", |
| 33 | + ] |
| 34 | + val_ptr = ffi.new("char**") |
| 35 | + for name in names: |
| 36 | + obj = getattr(lib, f"GxB_{name}") |
| 37 | + assert func(obj, val_ptr) == lib.GrB_SUCCESS |
| 38 | + print(name, ffi.string(val_ptr[0]).decode()) |
| 39 | + print("===================================") |
0 commit comments