Skip to content

Commit

Permalink
Merge pull request #76 from GMLC-TDC/CHandle_init
Browse files Browse the repository at this point in the history
C handle init
  • Loading branch information
phlptp authored Mar 12, 2024
2 parents 5516142 + 3f77ed4 commit 1a38094
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
12 changes: 8 additions & 4 deletions helics/capi.py
Original file line number Diff line number Diff line change
Expand Up @@ -1470,11 +1470,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):
Expand Down Expand Up @@ -2934,7 +2936,8 @@ class HelicsCallbackFederate(HelicsCombinationFederate):
pass

class HelicsDataBuffer(_HelicsCHandle):
pass
def __init__(self, handle, cleanup=False):
super().__init__(handle, cleanup)


class HelicsException(Exception):
Expand Down Expand Up @@ -9603,7 +9606,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())

Expand Down
2 changes: 1 addition & 1 deletion tests/test_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down
28 changes: 14 additions & 14 deletions tests/test_python_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand Down Expand Up @@ -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 (
Expand Down Expand Up @@ -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")
Expand All @@ -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)
Expand Down Expand Up @@ -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")

Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -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"))

Expand Down

0 comments on commit 1a38094

Please sign in to comment.