diff --git a/tests/pthread_cleanup/Makefile b/tests/pthread_cleanup/Makefile index dc485fd43c6da6c312ec585aa602f305d8a8008f..f6f6bffe96c3284fcda0314452203ba308345c51 100644 --- a/tests/pthread_cleanup/Makefile +++ b/tests/pthread_cleanup/Makefile @@ -7,3 +7,6 @@ BOARD_BLACKLIST := arduino-mega2560 waspmote-pro arduino-uno arduino-duemilanove USEMODULE += pthread include $(RIOTBASE)/Makefile.include + +test: + tests/01-run.py diff --git a/tests/pthread_cleanup/tests/01-run.py b/tests/pthread_cleanup/tests/01-run.py new file mode 100755 index 0000000000000000000000000000000000000000..91d45f5f411fe3917063f9cfc434c73b44f13a9b --- /dev/null +++ b/tests/pthread_cleanup/tests/01-run.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +import os +import sys + +sys.path.append(os.path.join(os.environ['RIOTBASE'], 'dist/tools/testrunner')) +import testrunner + + +def testfunc(child): + child.expect('START') + for i in range(5): + child.expect_exact('<SCOPE {}{}>' + .format(i + 1, ' /' if i == 4 else '')) + + child.expect_exact('Cleanup: <5>') + child.expect_exact('</SCOPE 4>') + child.expect_exact('</SCOPE 3>') + for i in (3, 2, 1): + child.expect_exact('Cleanup: <{}>'.format(i)) + child.expect_exact('Result: 1234') + child.expect('SUCCESS') + + +if __name__ == "__main__": + sys.exit(testrunner.run(testfunc)) diff --git a/tests/pthread_cleanup/tests/01-test b/tests/pthread_cleanup/tests/01-test deleted file mode 100755 index 6e7b30b0309ed743f9a6aeb5891c77100cdfcbec..0000000000000000000000000000000000000000 --- a/tests/pthread_cleanup/tests/01-test +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env expect - -set timeout 5 - -set pid [spawn make term] -puts "-*- Spawened $pid -*-\n" - -set once 0 -set result 1 -while { $once == 0 } { - set once 1 - - expect { - "Start." {} - timeout { break } - } - expect { - "<SCOPE 0>" {} - timeout { break } - } - expect { - "<SCOPE 1>" {} - timeout { break } - } - expect { - "<SCOPE 2>" {} - timeout { break } - } - expect { - "<SCOPE 3>" {} - timeout { break } - } - expect { - "<SCOPE 4>" {} - timeout { break } - } - expect { - "<SCOPE 5 />" {} - timeout { break } - } - expect { - "Cleanup: <5>" {} - timeout { break } - } - expect { - "</SCOPE 4>" {} - timeout { break } - } - # Cleanup 4 has execute == 0. - expect { - "</SCOPE 3>" {} - timeout { break } - } - # pthread_exit is called here - expect { - "Cleanup: <3>" {} - timeout { break } - } - expect { - "Cleanup: <2>" {} - timeout { break } - } - expect { - "Cleanup: <1>" {} - timeout { break } - } - expect { - "Result: 1234" {} - timeout { break } - } - expect { - "Done." {} - timeout { break } - } - - set result 0 -} - -if { $result == 0 } { - puts "\n-*- Test successful! -*-\n" -} else { - puts "\n-*- TEST HAD ERRORS! -*-\n" -} -spawn kill -9 $pid -wait -close -exit $result