5
5
6
6
# Specify the directory for the binaries
7
7
DIR_EXAMPLES = "build/examples"
8
- exit_status = 0
9
-
10
- def set_err_status ():
11
- exit_status = 1
12
8
13
9
def pub_and_sub (args ):
14
10
print ("*** Pub & sub test ***" )
11
+ test_status = 0
15
12
16
13
# Expected z_pub output & status
17
14
if args .pub == 1 :
@@ -89,7 +86,7 @@ def pub_and_sub(args):
89
86
print ("z_pub status valid" )
90
87
else :
91
88
print (f"z_pub status invalid, expected: { z_pub_expected_status } , received: { z_pub_status } " )
92
- set_err_status ()
89
+ test_status = 1
93
90
94
91
# Check output of z_pub
95
92
z_pub_output = z_pub_process .stdout .read ()
@@ -99,7 +96,7 @@ def pub_and_sub(args):
99
96
print ("z_pub output invalid:" )
100
97
print (f"Expected: \" { z_pub_expected_output } \" " )
101
98
print (f"Received: \" { z_pub_output } \" " )
102
- set_err_status ()
99
+ test_status = 1
103
100
104
101
print ("Check subscriber status & output" )
105
102
# Check the exit status of z_sub
@@ -108,7 +105,7 @@ def pub_and_sub(args):
108
105
print ("z_sub status valid" )
109
106
else :
110
107
print (f"z_sub status invalid, expected: { z_sub_expected_status } , received: { z_sub_status } " )
111
- set_err_status ()
108
+ test_status = 1
112
109
113
110
# Check output of z_sub
114
111
z_sub_output = z_sub_process .stdout .read ()
@@ -118,10 +115,13 @@ def pub_and_sub(args):
118
115
print ("z_sub output invalid:" )
119
116
print (f"Expected: \" { z_sub_expected_output } \" " )
120
117
print (f"Received: \" { z_sub_output } \" " )
121
- set_err_status ()
118
+ test_status = 1
119
+ # Return value
120
+ return test_status
122
121
123
122
def query_and_queryable (args ):
124
123
print ("*** Query & queryable test ***" )
124
+ test_status = 0
125
125
126
126
# Expected z_query output & status
127
127
if args .query == 1 :
@@ -221,7 +221,7 @@ def query_and_queryable(args):
221
221
print ("z_query status valid" )
222
222
else :
223
223
print (f"z_query status invalid, expected: { z_query_expected_status } , received: { z_query_status } " )
224
- set_err_status ()
224
+ test_status = 1
225
225
226
226
# Check output of z_query
227
227
z_query_output = z_query_process .stdout .read ()
@@ -231,7 +231,7 @@ def query_and_queryable(args):
231
231
print ("z_query output invalid:" )
232
232
print (f"Expected: \" { z_query_expected_output } \" " )
233
233
print (f"Received: \" { z_query_output } \" " )
234
- set_err_status ()
234
+ test_status = 1
235
235
236
236
print ("Check queryable status & output" )
237
237
# Check the exit status of z_queryable
@@ -240,7 +240,7 @@ def query_and_queryable(args):
240
240
print ("z_queryable status valid" )
241
241
else :
242
242
print (f"z_queryable status invalid, expected: { z_queryable_expected_status } , received: { z_queryable_status } " )
243
- set_err_status ()
243
+ test_status = 1
244
244
245
245
# Check output of z_queryable
246
246
z_queryable_output = z_queryable_process .stdout .read ()
@@ -250,7 +250,9 @@ def query_and_queryable(args):
250
250
print ("z_queryable output invalid:" )
251
251
print (f"Expected: \" { z_queryable_expected_output } \" " )
252
252
print (f"Received: \" { z_queryable_output } \" " )
253
- set_err_status ()
253
+ test_status = 1
254
+ # Return status
255
+ return test_status
254
256
255
257
if __name__ == "__main__" :
256
258
parser = argparse .ArgumentParser (description = "This script runs zenoh-pico examples and checks them according to the given configuration" )
@@ -259,8 +261,15 @@ def query_and_queryable(args):
259
261
parser .add_argument ("--queryable" , type = int , choices = [0 , 1 ], help = "Z_FEATURE_QUERYABLE (0 or 1)" )
260
262
parser .add_argument ("--query" , type = int , choices = [0 , 1 ], help = "Z_FEATURE_QUERY (0 or 1)" )
261
263
264
+ exit_status = 0
262
265
args = parser .parse_args ()
263
266
print (f"Args value, pub:{ args .pub } , sub:{ args .sub } , queryable:{ args .queryable } , query:{ args .query } " )
264
- pub_and_sub (args )
265
- query_and_queryable (args )
267
+
268
+ # Test pub and sub examples
269
+ if pub_and_sub (args ) == 1 :
270
+ exit_status = 1
271
+ # Test query and queryable examples
272
+ if query_and_queryable (args ) == 1 :
273
+ exit_status = 1
274
+ # Exit
266
275
sys .exit (exit_status )
0 commit comments