diff --git a/helics/capi.py b/helics/capi.py index 84c50cdd..79251005 100644 --- a/helics/capi.py +++ b/helics/capi.py @@ -1392,11 +1392,13 @@ def message_id(self, v): class HelicsQuery(_HelicsCHandle): - pass + def __init__(self, handle, cleanup=False): + super().__init__(handle, cleanup) class HelicsQueryBuffer(_HelicsCHandle): - pass + def __init__(self, handle, cleanup=False): + super().__init__(handle, cleanup) class HelicsEndpoint(_HelicsCHandle): @@ -2823,7 +2825,8 @@ class HelicsCallbackFederate(HelicsCombinationFederate): pass class HelicsDataBuffer(_HelicsCHandle): - pass + def __init__(self, handle, cleanup=False): + super().__init__(handle, cleanup) class HelicsException(Exception): @@ -7269,7 +7272,7 @@ def helicsTranslatorGetName(translator: HelicsTranslator) -> str: **Returns**: A string with the name of the translator. """ - f = loadSym("helicsPublicationGetName") + f = loadSym("helicsTranslatorGetName") result = f(translator.handle) return ffi.string(result).decode() @@ -9364,7 +9367,8 @@ def helicsQueryBufferFill(buffer: HelicsQueryBuffer, string: str): """ f = loadSym("helicsQueryBufferFill") err = helicsErrorInitialize() - f(buffer.handle, string, len(string), err) + str_ptr = ffi.new('char[]', string.encode('utf-8')) + f(buffer.handle, str_ptr, len(string), err) if err.error_code != 0: raise HelicsException("[" + str(err.error_code) + "] " + ffi.string(err.message).decode()) diff --git a/tests/test_filters.py b/tests/test_filters.py index 774148a8..04646d70 100644 --- a/tests/test_filters.py +++ b/tests/test_filters.py @@ -112,7 +112,7 @@ def test_filter_type_tests_info(): destroyBroker(broker) -def test_filter_types_tests_core_fitler_registration(): +def test_filter_types_tests_core_filter_registration(): core1 = h.helicsCreateCore("inproc", "core1", "--autobroker") diff --git a/tests/test_python_api.py b/tests/test_python_api.py index 3b98b027..1332f998 100644 --- a/tests/test_python_api.py +++ b/tests/test_python_api.py @@ -13,12 +13,12 @@ def test_python_api0(): - broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker") + broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker0") fedinfo = h.helicsCreateFederateInfo() assert "HelicsFederateInfo()" in repr(fedinfo) fedinfo.core_name = "TestFederate" fedinfo.core_type = "zmq" - fedinfo.core_init = "-f 1 --broker=mainbroker" + fedinfo.core_init = "-f 1 --broker=mainbroker0 --name=core0" mFed = h.helicsCreateCombinationFederate("TestFederate", fedinfo) assert ( @@ -61,12 +61,12 @@ def test_python_api0(): def test_python_api1(): - broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker") + broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker1") fedinfo = h.helicsCreateFederateInfo() assert "HelicsFederateInfo()" in repr(fedinfo) fedinfo.core_name = "TestFederate" fedinfo.core_type = "zmq" - fedinfo.core_init = "-f 1 --broker=mainbroker" + fedinfo.core_init = "-f 1 --broker=mainbroker1 --name=core0" mFed = h.helicsCreateCombinationFederate("TestFederate", fedinfo) assert ( @@ -266,7 +266,7 @@ def test_python_api1(): def test_python_api2(): - broker = h.helicsCreateBroker("zmq", "broker", "--federates 1 --loglevel=warning") + broker = h.helicsCreateBroker("zmq", "broker", "--federates 1 --loglevel=warning --name=mainbroker2") assert broker.is_connected() broker.set_global("hello", "world") @@ -280,7 +280,7 @@ def test_python_api2(): assert broker.query("hello", "world") == {"error": {"code": 404, "message": "query not valid"}} fi = h.helicsCreateFederateInfo() - fi.core_init = "--federates 1" + fi.core_init = "--federates 1 --brokername=mainbroker2 --name=core2" fi.property[h.HELICS_PROPERTY_INT_LOG_LEVEL] = 2 fed = h.helicsCreateCombinationFederate("test1", fi) @@ -436,15 +436,15 @@ def test_python_api2(): def test_python_api3(): - core1 = h.helicsCreateCore("inproc", "core1", "--autobroker") + core1 = h.helicsCreateCore("inproc", "core3", "--autobroker") - assert """HelicsCore(identifier = "core1", address = "core1")""" in repr(core1) + assert """HelicsCore(identifier = "core3", address = "core3")""" in repr(core1) core2 = core1.clone() - assert core1.identifier == "core1" + assert core1.identifier == "core3" - source_filter1 = core1.register_filter(h.HELICS_FILTER_TYPE_DELAY, "core1SourceFilter") + source_filter1 = core1.register_filter(h.HELICS_FILTER_TYPE_DELAY, "core3SourceFilter") source_filter1.add_source_target("ep1") @@ -504,7 +504,7 @@ def test_python_api4(): def test_python_api5(): - broker = h.helicsCreateBroker("zmq", "broker", "--federates 1") + broker = h.helicsCreateBroker("zmq", "broker", "--federates 1 --name=mainbroker5") fi = h.helicsCreateFederateInfo() fed = h.helicsCreateCombinationFederate("test1", fi) @@ -527,7 +527,7 @@ def test_python_api5(): def test_python_api6(): - broker = h.helicsCreateBroker("zmq", "broker", "--federates 1") + broker = h.helicsCreateBroker("zmq", "broker", "--federates 1 --name=mainbroker6") fi = h.helicsCreateFederateInfo() fed = h.helicsCreateCombinationFederate("test1", fi) @@ -549,7 +549,7 @@ def test_python_api6(): @pt.mark.skip(reason="Fails to pass on windows and linux") def test_python_api7(): - broker = h.helicsCreateBroker("zmq", "broker", "--federates 1") + broker = h.helicsCreateBroker("zmq", "broker", "--federates 1 --name=mainbroker7") fi = h.helicsCreateFederateInfo() fed = h.helicsCreateCombinationFederate("test1", fi) @@ -612,7 +612,7 @@ def test_python_api7(): def test_python_api8(): - broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker") + broker = h.helicsCreateBroker("zmq", "", "-f 1 --name=mainbroker8") cfed = h.helicsCreateCombinationFederateFromConfig(os.path.join(CURRENT_DIRECTORY, "combinationfederate.json"))