Skip to content

Commit

Permalink
Merge pull request #149 from Geson-anko/BaseApp/test_getProcessShared…
Browse files Browse the repository at this point in the history
…Value_in_Start

Base app/test get process shared value in start
  • Loading branch information
Geson-anko committed May 22, 2022
2 parents 2669864 + f33b0ef commit 0b2a1a3
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 6 deletions.
14 changes: 12 additions & 2 deletions TestEngineProject/App0/app.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from JarvisEngine.apps import BaseApp

import multiprocessing as mp
class App0(BaseApp):

def Init(self) -> None:
Expand All @@ -8,6 +8,7 @@ def Init(self) -> None:
def RegisterProcessSharedValues(self, sync_manager) -> None:
super().RegisterProcessSharedValues(sync_manager)
self.addProcessSharedValue("bool_value",True)
self.addProcessSharedValue("shared_int",mp.Value("i",0))

def RegisterThreadSharedValues(self) -> None:
super().RegisterThreadSharedValues()
Expand All @@ -18,4 +19,13 @@ def Awake(self) -> None:
assert self.process_shared_values == None

def Start(self) -> None:
self.logger.info("Start")
self.logger.info("Start")
assert self.getProcessSharedValue("MAIN.App0.bool_value") == True
assert self.getProcessSharedValue("MAIN.App1.int_value") == 100
assert self.getProcessSharedValue("MAIN.App1.App1_1.str_value") == "apple"
assert self.getProcessSharedValue("MAIN.App1.App1_2.float_value") == 0.0

assert self.getProcessSharedValue("MAIN.App0.shared_int").value == 0
assert self.getProcessSharedValue("MAIN.App1.shared_float").value == -10.0
assert self.getProcessSharedValue("MAIN.App1.App1_1.shared_bool").value == True
assert self.getProcessSharedValue("MAIN.App1.App1_2.shared_str").value == b"abc"
15 changes: 13 additions & 2 deletions TestEngineProject/App1/App1_1/app.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from JarvisEngine.apps import BaseApp

import multiprocessing as mp
import ctypes
class App1_1(BaseApp):

def Init(self) -> None:
Expand All @@ -9,6 +10,7 @@ def Init(self) -> None:
def RegisterProcessSharedValues(self, sync_manager) -> None:
super().RegisterProcessSharedValues(sync_manager)
self.addProcessSharedValue("str_value", "apple")
self.addProcessSharedValue("shared_bool", mp.Value(ctypes.c_bool,True))

def RegisterThreadSharedValues(self) -> None:
super().RegisterThreadSharedValues()
Expand All @@ -19,4 +21,13 @@ def Awake(self) -> None:
assert self.process_shared_values == None

def Start(self) -> None:
self.logger.info("Start")
self.logger.info("Start")
assert self.getProcessSharedValue("MAIN.App0.bool_value") == True
assert self.getProcessSharedValue("MAIN.App1.int_value") == 100
assert self.getProcessSharedValue("MAIN.App1.App1_1.str_value") == "apple"
assert self.getProcessSharedValue("MAIN.App1.App1_2.float_value") == 0.0

assert self.getProcessSharedValue("MAIN.App0.shared_int").value == 0
assert self.getProcessSharedValue("MAIN.App1.shared_float").value == -10.0
assert self.getProcessSharedValue("MAIN.App1.App1_1.shared_bool").value == True
assert self.getProcessSharedValue("MAIN.App1.App1_2.shared_str").value == b"abc"
14 changes: 13 additions & 1 deletion TestEngineProject/App1/App1_2/app.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
from JarvisEngine.apps import BaseApp
import multiprocessing as mp
import ctypes

class App1_2(BaseApp):

Expand All @@ -8,6 +10,7 @@ def Init(self):
def RegisterProcessSharedValues(self, sync_manager) -> None:
super().RegisterProcessSharedValues(sync_manager)
self.addProcessSharedValue("float_value",0.0)
self.addProcessSharedValue("shared_str", mp.Array(ctypes.c_char, b"abc"))

def RegisterThreadSharedValues(self) -> None:
super().RegisterThreadSharedValues()
Expand All @@ -18,4 +21,13 @@ def Awake(self) -> None:
assert self.process_shared_values == None

def Start(self) -> None:
self.logger.info("Start")
self.logger.info("Start")
assert self.getProcessSharedValue("MAIN.App0.bool_value") == True
assert self.getProcessSharedValue("MAIN.App1.int_value") == 100
assert self.getProcessSharedValue("MAIN.App1.App1_1.str_value") == "apple"
assert self.getProcessSharedValue("MAIN.App1.App1_2.float_value") == 0.0

assert self.getProcessSharedValue("MAIN.App0.shared_int").value == 0
assert self.getProcessSharedValue("MAIN.App1.shared_float").value == -10.0
assert self.getProcessSharedValue("MAIN.App1.App1_1.shared_bool").value == True
assert self.getProcessSharedValue("MAIN.App1.App1_2.shared_str").value == b"abc"
13 changes: 12 additions & 1 deletion TestEngineProject/App1/app.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from JarvisEngine.apps import BaseApp
import multiprocessing as mp

class App1(BaseApp):

Expand All @@ -10,6 +11,7 @@ def RegisterProcessSharedValues(self, sync_manager) -> None:
super().RegisterProcessSharedValues(sync_manager)

self.addProcessSharedValue("int_value",100)
self.addProcessSharedValue("shared_float",mp.Value("f",-10.0))

def RegisterThreadSharedValues(self) -> None:
super().RegisterThreadSharedValues()
Expand All @@ -20,4 +22,13 @@ def Awake(self) -> None:
assert self.process_shared_values == None

def Start(self) -> None:
self.logger.info("Start")
self.logger.info("Start")
assert self.getProcessSharedValue("MAIN.App0.bool_value") == True
assert self.getProcessSharedValue("MAIN.App1.int_value") == 100
assert self.getProcessSharedValue("MAIN.App1.App1_1.str_value") == "apple"
assert self.getProcessSharedValue("MAIN.App1.App1_2.float_value") == 0.0

assert self.getProcessSharedValue("MAIN.App0.shared_int").value == 0
assert self.getProcessSharedValue("MAIN.App1.shared_float").value == -10.0
assert self.getProcessSharedValue("MAIN.App1.App1_1.shared_bool").value == True
assert self.getProcessSharedValue("MAIN.App1.App1_2.shared_str").value == b"abc"

0 comments on commit 0b2a1a3

Please sign in to comment.