This repository was archived by the owner on Dec 26, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 7 files changed +128
-6
lines changed Expand file tree Collapse file tree 7 files changed +128
-6
lines changed Original file line number Diff line number Diff line change @@ -134,6 +134,10 @@ int main(int argc, char* argv[]) {
134
134
br_logger_init ();
135
135
}
136
136
137
+ // Once tangle-accelerator finished initializing, return 'SIGUSR1' to parent process
138
+ pid_t pid = getppid ();
139
+ kill (pid , SIGUSR1 );
140
+
137
141
/* pause() cause TA to sleep until it catch a signal,
138
142
* also the return value and errno should be -1 and EINTR on success.
139
143
*/
Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ static status_t sec_init(void) {
86
86
87
87
static status_t sec_write (const char * name , const uint8_t * buf , size_t buf_size ) {
88
88
uint8_t * data = malloc (buf_size );
89
- if (data == NULL ){
89
+ if (data == NULL ) {
90
90
LE_ERROR ("Cannot fetch enough memory" );
91
91
return SC_OOM ;
92
92
}
Original file line number Diff line number Diff line change @@ -34,10 +34,22 @@ function run_test_suite(){
34
34
35
35
function start_ta(){
36
36
# Create tangle-accelerator for unit-test
37
+ trap ' TA_INIT=1' USR1
37
38
bazel run accelerator &
38
39
TA=$!
40
+ TA_INIT=0
41
+
39
42
# Wait for tangle-acclerator build finish
40
- sleep 20
43
+ while [ " $TA_INIT " -ne 1 ]; do
44
+ if ps -p $TA > /dev/null; then
45
+ echo " waiting for tangle-accelerator initialization"
46
+ sleep 1
47
+ continue
48
+ else
49
+ # pid does not exist
50
+ break
51
+ fi
52
+ done
41
53
}
42
54
43
55
echo " Start unit-test for endpoint"
Original file line number Diff line number Diff line change @@ -18,6 +18,17 @@ setup_build_opts() {
18
18
fail=()
19
19
}
20
20
21
+ # Set sanitizer options
22
+ setup_sanitizer_opts () {
23
+ SAN_OPTIONS=(
24
+ " --config=asan"
25
+ " --config=tsan"
26
+ " --config=ubsan"
27
+ )
28
+ success=()
29
+ fail=()
30
+ }
31
+
21
32
# Check environment variables
22
33
check_env () {
23
34
ENV_NAME=(
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ source tests/regression/common.sh
4
+
5
+ check_env
6
+ setup_sanitizer_opts
7
+
8
+ # Get command line arguments
9
+ # Current arguments parsed are <sleep_time> <remaining_args>
10
+ get_cli_args $@
11
+
12
+ # Install prerequisites
13
+ make
14
+ pip3 install --user -r tests/regression/requirements.txt
15
+
16
+ # FIXME: Check Redis status
17
+ redis-server &
18
+
19
+ # Iterate over all available build options
20
+ for (( i = 0 ; i < ${# SAN_OPTIONS[@]} ; i++ )) ; do
21
+ option=${SAN_OPTIONS[${i}]}
22
+
23
+ trap ' TA_INIT=1' USR1
24
+ bazel run accelerator ${option} -c dbg -- --ta_port=${TA_PORT} &
25
+ TA=$!
26
+
27
+ TA_INIT=0
28
+ while [ " $TA_INIT " -ne 1 ]; do
29
+ if ps -p $TA > /dev/null; then
30
+ echo " waiting for tangle-accelerator initialization"
31
+ sleep 1
32
+ continue
33
+ else
34
+ # pid does not exist
35
+ break
36
+ fi
37
+ done
38
+
39
+ trap " kill -9 ${TA} ;" INT # Trap SIGINT from Ctrl-C to stop TA
40
+
41
+ python3 tests/regression/runner.py ${remaining_args} --url localhost:${TA_PORT}
42
+ rc=$?
43
+
44
+ if [ $rc -ne 0 ]
45
+ then
46
+ echo " Build sanitizer '${option} ' failed"
47
+ fail+=(" ${option} " )
48
+ else
49
+ success+=(" ${option} " )
50
+ fi
51
+
52
+ bazel clean
53
+ wait $( kill -9 ${TA} )
54
+ done
55
+
56
+ echo " --------- Successful build options ---------"
57
+ for (( i = 0 ; i < ${# success[@]} ; i++ )) ; do echo ${success[${i}]} ; done
58
+ echo " ----------- Failed build options -----------"
59
+ for (( i = 0 ; i < ${# fail[@]} ; i++ )) ; do echo ${fail[${i}]} ; done
60
+
61
+ if [ ${# fail[@]} -gt 0 ]; then
62
+ exit 1
63
+ fi
Original file line number Diff line number Diff line change @@ -11,7 +11,9 @@ get_cli_args $@
11
11
12
12
# Install prerequisites
13
13
make MQTT
14
- pip install --user -r tests/regression/requirements.txt
14
+ pip3 install --user -r tests/regression/requirements.txt
15
+
16
+ # FIXME: Check Redis status
15
17
redis-server &
16
18
17
19
# Iterate over all available build options
@@ -20,9 +22,16 @@ for (( i = 0; i < ${#OPTIONS[@]}; i++ )); do
20
22
cli_arg=${option} | cut -d ' |' -f 1
21
23
build_arg=${option} | cut -d ' |' -f 2
22
24
25
+ trap ' TA_INIT=1' USR1
23
26
bazel run accelerator --define mqtt=enable ${build_arg} -- --quiet --ta_port=${TA_PORT} ${cli_arg} &
24
27
TA=$!
25
- sleep ${sleep_time} # TA takes time to be built
28
+
29
+ TA_INIT=0
30
+ while [ " $TA_INIT " -ne 1 ]; do
31
+ echo " waiting for tangle-accelerator initialization"
32
+ sleep 1
33
+ done
34
+
26
35
trap " kill -9 ${TA} ;" INT # Trap SIGINT from Ctrl-C to stop TA
27
36
28
37
python3 tests/regression/runner.py ${remaining_args} --url " localhost" --mqtt
@@ -44,3 +53,7 @@ echo "--------- Successful build options ---------"
44
53
for (( i = 0 ; i < ${# success[@]} ; i++ )) ; do echo ${success[${i}]} ; done
45
54
echo " ----------- Failed build options -----------"
46
55
for (( i = 0 ; i < ${# fail[@]} ; i++ )) ; do echo ${fail[${i}]} ; done
56
+
57
+ if [ ${# fail[@]} -gt 0 ]; then
58
+ exit 1
59
+ fi
Original file line number Diff line number Diff line change @@ -11,7 +11,9 @@ get_cli_args $@
11
11
12
12
# Install prerequisites
13
13
make
14
- pip install --user -r tests/regression/requirements.txt
14
+ pip3 install --user -r tests/regression/requirements.txt
15
+
16
+ # FIXME: Check Redis status
15
17
redis-server &
16
18
17
19
# Iterate over all available build options
@@ -20,9 +22,22 @@ for (( i = 0; i < ${#OPTIONS[@]}; i++ )); do
20
22
cli_arg=$( echo ${option} | cut -d ' |' -f 2)
21
23
build_arg=$( echo ${option} | cut -d ' |' -f 1)
22
24
25
+ trap ' TA_INIT=1' USR1
23
26
bazel run accelerator ${build_arg} -- --ta_port=${TA_PORT} ${cli_arg} &
24
27
TA=$!
25
- sleep ${sleep_time} # TA takes time to be built
28
+
29
+ TA_INIT=0
30
+ while [ " $TA_INIT " -ne 1 ]; do
31
+ if ps -p $TA > /dev/null; then
32
+ echo " waiting for tangle-accelerator initialization"
33
+ sleep 1
34
+ continue
35
+ else
36
+ # pid does not exist
37
+ break
38
+ fi
39
+ done
40
+
26
41
trap " kill -9 ${TA} ;" INT # Trap SIGINT from Ctrl-C to stop TA
27
42
28
43
python3 tests/regression/runner.py ${remaining_args} --url localhost:${TA_PORT}
@@ -44,3 +59,7 @@ echo "--------- Successful build options ---------"
44
59
for (( i = 0 ; i < ${# success[@]} ; i++ )) ; do echo ${success[${i}]} ; done
45
60
echo " ----------- Failed build options -----------"
46
61
for (( i = 0 ; i < ${# fail[@]} ; i++ )) ; do echo ${fail[${i}]} ; done
62
+
63
+ if [ ${# fail[@]} -gt 0 ]; then
64
+ exit 1
65
+ fi
You can’t perform that action at this time.
0 commit comments