From f10891eb1127c311d8e9eaff5bb25bf3ad40853c Mon Sep 17 00:00:00 2001 From: Stefanos Kornilios Mitsis Poiitidis Date: Tue, 26 May 2020 17:25:53 +0300 Subject: [PATCH] posixtests: Move disabled list to file from filenames --- External/fex-posixtest-bins | 2 +- Scripts/posix_test_runner.py | 18 +++- unittests/POSIX/CMakeLists.txt | 2 + unittests/POSIX/Disabled_Tests | 190 +++++++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+), 5 deletions(-) create mode 100644 unittests/POSIX/Disabled_Tests diff --git a/External/fex-posixtest-bins b/External/fex-posixtest-bins index 4bf0dde45..28dc3f8cb 160000 --- a/External/fex-posixtest-bins +++ b/External/fex-posixtest-bins @@ -1 +1 @@ -Subproject commit 4bf0dde453662d25d3817f063ba285ddf291605d +Subproject commit 28dc3f8cb5fa2ed59d66e6a7021ae472c10daa31 diff --git a/Scripts/posix_test_runner.py b/Scripts/posix_test_runner.py index 9393fce9e..4d01fea5a 100644 --- a/Scripts/posix_test_runner.py +++ b/Scripts/posix_test_runner.py @@ -2,7 +2,7 @@ import sys import subprocess -# Args: ... +# Args: ... # fexargs should also include the test executable @@ -11,10 +11,12 @@ if (len(sys.argv) < 6): known_failures_file = sys.argv[1] expected_output_file = sys.argv[2] -test_name = sys.argv[3] +disabled_tests_file = sys.argv[3] +test_name = sys.argv[4] known_failures = { } expected_output = { } +disabled_tests = { } # Open the known failures file and add it to a dictionary with open(known_failures_file) as kff: @@ -27,15 +29,23 @@ with open(expected_output_file) as eof: parts = line.strip().split(" ") expected_output[parts[0]] = int(parts[1]) +with open(disabled_tests_file) as dtf: + for line in dtf: + disabled_tests[line.strip()] = 1 + # run with timeout to avoid locking up RunnerArgs = ["timeout", "45s"] # Add the rest of the arguments -for i in range(len(sys.argv) - 4): - RunnerArgs.append(sys.argv[4 + i]) +for i in range(len(sys.argv) - 5): + RunnerArgs.append(sys.argv[5 + i]) #print(RunnerArgs) +if (disabled_tests.get(test_name)): + print("Skipping", test_name) + sys.exit(0) + # Run the test and wait for it to end to get the result Process = subprocess.Popen(RunnerArgs) Process.wait() diff --git a/unittests/POSIX/CMakeLists.txt b/unittests/POSIX/CMakeLists.txt index 111b854f9..e46b2ec96 100644 --- a/unittests/POSIX/CMakeLists.txt +++ b/unittests/POSIX/CMakeLists.txt @@ -13,6 +13,7 @@ foreach(POSIX_TEST ${POSIX_TESTS}) COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/posix_test_runner.py" "${CMAKE_SOURCE_DIR}/unittests/POSIX/Known_Failures" "${CMAKE_SOURCE_DIR}/unittests/POSIX/Expected_Output" + "${CMAKE_SOURCE_DIR}/unittests/POSIX/Disabled_Tests" "${TEST_NAME}" "${CMAKE_BINARY_DIR}/Bin/ELFLoader" "-U" "-c" "irint" "-n" "500" "-R" $ENV{ROOTFS} "--" @@ -22,6 +23,7 @@ foreach(POSIX_TEST ${POSIX_TESTS}) COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/posix_test_runner.py" "${CMAKE_SOURCE_DIR}/unittests/POSIX/Known_Failures" "${CMAKE_SOURCE_DIR}/unittests/POSIX/Expected_Output" + "${CMAKE_SOURCE_DIR}/unittests/POSIX/Disabled_Tests" "${TEST_NAME}" "${CMAKE_BINARY_DIR}/Bin/ELFLoader" "-U" "-c" "irint" "-n" "500" "-R" $ENV{ROOTFS} "--" diff --git a/unittests/POSIX/Disabled_Tests b/unittests/POSIX/Disabled_Tests new file mode 100644 index 000000000..6273c3723 --- /dev/null +++ b/unittests/POSIX/Disabled_Tests @@ -0,0 +1,190 @@ +conformance-interfaces-sigsuspend-6-1.test +conformance-interfaces-sigsuspend-4-1.test +conformance-interfaces-sigsuspend-3-1.test +conformance-interfaces-sigsuspend-1-1.test +conformance-interfaces-sched_rr_get_interval-3-1.test +conformance-interfaces-sigtimedwait-5-1.test +conformance-interfaces-sigwaitinfo-3-1.test +conformance-interfaces-strftime-1-1.test +conformance-interfaces-kill-1-2.test +conformance-interfaces-sigqueue-3-1.test +conformance-interfaces-sigqueue-12-1.test +conformance-interfaces-sigqueue-1-1.test +conformance-interfaces-sigqueue-9-1.test +conformance-interfaces-sched_setscheduler-21-1.test +conformance-interfaces-sched_setscheduler-17-7.test +conformance-interfaces-pthread_atfork-2-1.test +conformance-interfaces-pthread_atfork-1-1.test +conformance-interfaces-killpg-1-2.test +conformance-interfaces-aio_read-2-1.test +conformance-interfaces-raise-1-2.test +conformance-interfaces-mmap-21-1.test +conformance-interfaces-mmap-6-2.test +conformance-interfaces-mmap-6-1.test +conformance-interfaces-mmap-6-3.test +conformance-interfaces-mmap-12-1.test +conformance-interfaces-mmap-14-1.test +conformance-interfaces-mmap-31-1.test +conformance-interfaces-mmap-11-4.test +conformance-interfaces-clock_settime-8-1.test +conformance-interfaces-clock_settime-6-1.test +conformance-interfaces-clock_settime-7-2.test +conformance-interfaces-clock_settime-7-1.test +conformance-interfaces-sigaction-17-11.test +conformance-interfaces-sigaction-4-49.test +conformance-interfaces-sigaction-21-1.test +conformance-interfaces-sigaction-4-16.test +conformance-interfaces-sigaction-22-7.test +conformance-interfaces-sigaction-22-23.test +conformance-interfaces-sigaction-22-6.test +conformance-interfaces-sigaction-4-26.test +conformance-interfaces-sigaction-22-16.test +conformance-interfaces-sigaction-17-25.test +conformance-interfaces-sigaction-4-5.test +conformance-interfaces-sigaction-25-17.test +conformance-interfaces-sigaction-4-52.test +conformance-interfaces-sigaction-4-32.test +conformance-interfaces-sigaction-17-15.test +conformance-interfaces-sigaction-17-6.test +conformance-interfaces-sigaction-4-6.test +conformance-interfaces-sigaction-17-13.test +conformance-interfaces-sigaction-4-23.test +conformance-interfaces-sigaction-4-13.test +conformance-interfaces-sigaction-17-7.test +conformance-interfaces-sigaction-22-11.test +conformance-interfaces-sigaction-25-6.test +conformance-interfaces-sigaction-17-19.test +conformance-interfaces-sigaction-25-11.test +conformance-interfaces-sigaction-17-14.test +conformance-interfaces-sigaction-17-3.test +conformance-interfaces-sigaction-22-25.test +conformance-interfaces-sigaction-22-5.test +conformance-interfaces-sigaction-17-26.test +conformance-interfaces-sigaction-4-17.test +conformance-interfaces-sigaction-25-3.test +conformance-interfaces-sigaction-17-16.test +conformance-interfaces-sigaction-22-4.test +conformance-interfaces-sigaction-4-40.test +conformance-interfaces-sigaction-4-27.test +conformance-interfaces-sigaction-17-8.test +conformance-interfaces-sigaction-17-24.test +conformance-interfaces-sigaction-4-22.test +conformance-interfaces-sigaction-4-21.test +conformance-interfaces-sigaction-25-26.test +conformance-interfaces-sigaction-22-26.test +conformance-interfaces-sigaction-4-25.test +conformance-interfaces-sigaction-4-1.test +conformance-interfaces-sigaction-25-7.test +conformance-interfaces-sigaction-4-14.test +conformance-interfaces-sigaction-17-4.test +conformance-interfaces-sigaction-4-34.test +conformance-interfaces-sigaction-17-17.test +conformance-interfaces-sigaction-4-47.test +conformance-interfaces-sigaction-22-3.test +conformance-interfaces-sigaction-25-9.test +conformance-interfaces-sigaction-25-8.test +conformance-interfaces-sigaction-25-22.test +conformance-interfaces-sigaction-25-19.test +conformance-interfaces-sigaction-25-21.test +conformance-interfaces-sigaction-22-1.test +conformance-interfaces-sigaction-4-29.test +conformance-interfaces-sigaction-22-10.test +conformance-interfaces-sigaction-22-17.test +conformance-interfaces-sigaction-4-15.test +conformance-interfaces-sigaction-4-12.test +conformance-interfaces-sigaction-4-18.test +conformance-interfaces-sigaction-22-22.test +conformance-interfaces-sigaction-22-18.test +conformance-interfaces-sigaction-17-1.test +conformance-interfaces-sigaction-4-36.test +conformance-interfaces-sigaction-4-51.test +conformance-interfaces-sigaction-22-12.test +conformance-interfaces-sigaction-4-50.test +conformance-interfaces-sigaction-25-10.test +conformance-interfaces-sigaction-22-13.test +conformance-interfaces-sigaction-4-24.test +conformance-interfaces-sigaction-25-2.test +conformance-interfaces-sigaction-25-14.test +conformance-interfaces-sigaction-22-2.test +conformance-interfaces-sigaction-4-8.test +conformance-interfaces-sigaction-22-14.test +conformance-interfaces-sigaction-17-18.test +conformance-interfaces-sigaction-22-21.test +conformance-interfaces-sigaction-25-16.test +conformance-interfaces-sigaction-4-28.test +conformance-interfaces-sigaction-25-12.test +conformance-interfaces-sigaction-4-39.test +conformance-interfaces-sigaction-4-33.test +conformance-interfaces-sigaction-4-42.test +conformance-interfaces-sigaction-17-12.test +conformance-interfaces-sigaction-22-9.test +conformance-interfaces-sigaction-17-9.test +conformance-interfaces-sigaction-4-19.test +conformance-interfaces-sigaction-25-20.test +conformance-interfaces-sigaction-17-20.test +conformance-interfaces-sigaction-4-41.test +conformance-interfaces-sigaction-22-8.test +conformance-interfaces-sigaction-25-1.test +conformance-interfaces-sigaction-25-15.test +conformance-interfaces-sigaction-25-5.test +conformance-interfaces-sigaction-17-10.test +conformance-interfaces-sigaction-4-9.test +conformance-interfaces-sigaction-25-4.test +conformance-interfaces-sigaction-25-13.test +conformance-interfaces-sigaction-22-24.test +conformance-interfaces-sigaction-4-4.test +conformance-interfaces-sigaction-17-23.test +conformance-interfaces-sigaction-22-19.test +conformance-interfaces-sigaction-4-10.test +conformance-interfaces-sigaction-4-48.test +conformance-interfaces-sigaction-25-24.test +conformance-interfaces-sigaction-4-46.test +conformance-interfaces-sigaction-17-22.test +conformance-interfaces-sigaction-4-3.test +conformance-interfaces-sigaction-4-7.test +conformance-interfaces-sigaction-25-18.test +conformance-interfaces-sigaction-17-2.test +conformance-interfaces-sigaction-17-21.test +conformance-interfaces-sigaction-4-35.test +conformance-interfaces-sigaction-4-37.test +conformance-interfaces-sigaction-17-5.test +conformance-interfaces-sigaction-4-30.test +conformance-interfaces-sigaction-4-2.test +conformance-interfaces-sigaction-4-45.test +conformance-interfaces-sigaction-4-38.test +conformance-interfaces-sigaction-4-31.test +conformance-interfaces-sigaction-4-20.test +conformance-interfaces-sigaction-4-43.test +conformance-interfaces-sigaction-25-25.test +conformance-interfaces-sigaction-22-15.test +conformance-interfaces-sigaction-4-11.test +conformance-interfaces-sigaction-22-20.test +conformance-interfaces-sigaction-25-23.test +conformance-interfaces-sigaction-4-44.test +conformance-interfaces-nanosleep-3-2.test +conformance-interfaces-nanosleep-3-1.test +conformance-interfaces-nanosleep-5-2.test +conformance-interfaces-nanosleep-1-2.test +conformance-interfaces-nanosleep-1-3.test +conformance-interfaces-nanosleep-7-2.test +conformance-interfaces-nanosleep-7-1.test +conformance-interfaces-clock_gettime-4-1.test +conformance-interfaces-clock_getcpuclockid-2-1.test +conformance-interfaces-clock_getcpuclockid-1-1.test +conformance-interfaces-sched_getscheduler-5-1.test +conformance-interfaces-sched_getparam-4-1.test +conformance-interfaces-sched_setparam-10-1.test +conformance-interfaces-sched_setparam-27-1.test +conformance-interfaces-sched_setparam-1-1.test +conformance-interfaces-sched_setparam-23-7.test +conformance-interfaces-sched_setparam-9-1.test +conformance-interfaces-clock_nanosleep-10-1.test +conformance-interfaces-clock_nanosleep-1-4.test +conformance-interfaces-clock_nanosleep-2-3.test +conformance-interfaces-clock_nanosleep-1-5.test +conformance-interfaces-clock_nanosleep-2-2.test +conformance-interfaces-clock_nanosleep-1-3.test +conformance-interfaces-clock_nanosleep-9-1.test +conformance-behavior-WIFEXITED-1-2.test +conformance-behavior-WIFEXITED-1-1.test +conformance-behavior-WIFEXITED-1-3.test \ No newline at end of file