tests/pthread_cleanup: migrate to testrunner script
This commit is contained in:
parent
7bab0339dc
commit
7ff3a2a535
@ -7,3 +7,6 @@ BOARD_BLACKLIST := arduino-mega2560 waspmote-pro arduino-uno arduino-duemilanove
|
|||||||
USEMODULE += pthread
|
USEMODULE += pthread
|
||||||
|
|
||||||
include $(RIOTBASE)/Makefile.include
|
include $(RIOTBASE)/Makefile.include
|
||||||
|
|
||||||
|
test:
|
||||||
|
tests/01-run.py
|
||||||
|
|||||||
26
tests/pthread_cleanup/tests/01-run.py
Executable file
26
tests/pthread_cleanup/tests/01-run.py
Executable file
@ -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))
|
||||||
@ -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
|
|
||||||
Loading…
x
Reference in New Issue
Block a user