From a6f44ac2bdd15438215d824451e47ba6e72cf119 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Wed, 24 Jun 2026 01:06:34 +0800 Subject: [PATCH] [CMAKE] Cleanup ctest (#3981) * [CMAKE] Cleanup ctest * fix --- CMakeLists.txt | 500 +----------------- tests/CMakeLists.txt | 109 ++++ tests/{extensions/mmx.txt => ref34.txt} | 0 tests/{misc/xsave_xrstor.txt => ref35.txt} | 0 tests/{extensions/mmx => test34} | Bin tests/{extensions/mmx.c => test34.c} | 0 .../mmx_android => test34_android} | Bin tests/{misc/xsave_xrstor => test35} | Bin tests/{misc/xsave_xrstor.c => test35.c} | 0 tests32/{extensions/arpl.txt => ref27.txt} | 0 tests32/{extensions/mmx.txt => ref28.txt} | 0 tests32/{extensions/arpl => test27} | Bin tests32/{extensions/arpl.c => test27.c} | 0 tests32/{extensions/mmx => test28} | Bin tests32/{extensions/mmx.c => test28.c} | 0 15 files changed, 110 insertions(+), 499 deletions(-) create mode 100644 tests/CMakeLists.txt rename tests/{extensions/mmx.txt => ref34.txt} (100%) rename tests/{misc/xsave_xrstor.txt => ref35.txt} (100%) rename tests/{extensions/mmx => test34} (100%) rename tests/{extensions/mmx.c => test34.c} (100%) rename tests/{extensions/mmx_android => test34_android} (100%) rename tests/{misc/xsave_xrstor => test35} (100%) rename tests/{misc/xsave_xrstor.c => test35.c} (100%) rename tests32/{extensions/arpl.txt => ref27.txt} (100%) rename tests32/{extensions/mmx.txt => ref28.txt} (100%) rename tests32/{extensions/arpl => test27} (100%) rename tests32/{extensions/arpl.c => test27.c} (100%) rename tests32/{extensions/mmx => test28} (100%) rename tests32/{extensions/mmx.c => test28.c} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 45bb46a60..12d7c6f8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1609,502 +1609,4 @@ set(CPACK_DEBIAN_FILE_NAME "${BOX64}-${BOX64_MAJOR}.${BOX64_MINOR}.${BOX64_REVIS endif() INCLUDE(CPack) -if(NOT ANDROID) -add_test(bootSyscall ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test01 -D TEST_OUTPUT=tmpfile01.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref01.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(bootSyscallC ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test02 -D TEST_OUTPUT=tmpfile02.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref02.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(printf ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test03 -D TEST_OUTPUT=tmpfile03.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref03.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(args ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test04 -D TEST_ARGS2=yeah -D TEST_OUTPUT=tmpfile04.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref04.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(maths1 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test05 -D TEST_ARGS2=7 -D TEST_OUTPUT=tmpfile05.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref05.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(threadsStart ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test06 -D TEST_OUTPUT=tmpfile06.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref06.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(trig ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test07 -D TEST_OUTPUT=tmpfile07.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref07.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(pi ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test08 -D TEST_OUTPUT=tmpfile08.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref08.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(fork ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test09 -D TEST_OUTPUT=tmpfile09.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref09.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(cppThreads_nocosim ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test10 -D TEST_OUTPUT=tmpfile10.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref10.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(cppThreads_nocosim PROPERTIES ENVIRONMENT "BOX64_LD_LIBRARY_PATH=${CMAKE_SOURCE_DIR}/x64lib") - -add_test(tlsData ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test11 -D TEST_OUTPUT=tmpfile11.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref11.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(fpu ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test12 -D TEST_OUTPUT=tmpfile12.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref12.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(contexts ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test13 -D TEST_OUTPUT=tmpfile13.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref13.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -#add_test(conditionalThreads ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test14 -D TEST_OUTPUT=tmpfile14.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref14.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(linkingIndirectNoversion ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test15 -D TEST_OUTPUT=tmpfile15.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref15.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(sse_asm ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test16 -D TEST_OUTPUT=tmpfile16.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref16.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(sse_asm PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - -add_test(sse_intrinsics ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test17 -D TEST_OUTPUT=tmpfile17.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref17.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(sse_intrinsics PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0") - -add_test(aes ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test18 -D TEST_OUTPUT=tmpfile18.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref18.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(backtrace ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test19 -D TEST_OUTPUT=tmpfile19.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref19.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(irelative_reloc ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test20 -D TEST_OUTPUT=tmpfile20.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref20.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(longjumpInSignals_nocosim ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test21 -D TEST_OUTPUT=tmpfile21.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref21.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(x87 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test22 -D TEST_OUTPUT=tmpfile22.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref22.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(x87 PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - -add_test(pshufb ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test23 -D TEST_OUTPUT=tmpfile23.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref23.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(bswap ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test24 -D TEST_OUTPUT=tmpfile24.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref24.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(x87cache ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test25 -D TEST_OUTPUT=tmpfile25.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref25.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(feround ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test26 -D TEST_OUTPUT=tmpfile26.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref26.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -set_tests_properties(feround PROPERTIES ENVIRONMENT "BOX64_SYNC_ROUNDING=1") - -add_test(sse4_2 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test27 -D TEST_OUTPUT=tmpfile27.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref27.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(shaext ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test28 -D TEST_OUTPUT=tmpfile28.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref28.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(lock ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test29 -D TEST_OUTPUT=tmpfile29.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref29.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(avx_intrinsics ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test30 -D TEST_OUTPUT=tmpfile30.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref30.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(avx_intrinsics PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0;BOX64_AVX=2") - -add_test(fpu_rounding ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test31 -D TEST_OUTPUT=tmpfile31.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref31.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(fpu_rounding PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - -add_test(x87pc ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test32 -D TEST_OUTPUT=tmpfile32.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref32.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(x87pc PROPERTIES ENVIRONMENT "BOX64_DYNAREC_X87DOUBLE=2") - -add_test(Boundary ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test33 -D TEST_OUTPUT=tmpfile33.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref33.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -#if(NOT CI) -# add_test(AppImage ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test01-x64.AppImage -D TEST_OUTPUT=tmpfileAppImage.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref01.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -#endif() - -else() - -add_test(bootSyscall ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test01_android -D TEST_OUTPUT=tmpfile01.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref01.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(bootSyscallC ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test02_android -D TEST_OUTPUT=tmpfile02.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref02.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(printf ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test03_android -D TEST_OUTPUT=tmpfile03.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref03.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(args ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test04_android -D TEST_ARGS2=yeah -D TEST_OUTPUT=tmpfile04.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref04.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(maths1 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test05_android -D TEST_ARGS2=7 -D TEST_OUTPUT=tmpfile05.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref05.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(threadsStart ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test06_android -D TEST_OUTPUT=tmpfile06.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref06.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(trig ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test07_android -D TEST_OUTPUT=tmpfile07.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref07.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(pi ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test08_android -D TEST_OUTPUT=tmpfile08.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref08.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(fork ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test09_android -D TEST_OUTPUT=tmpfile09.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref09.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(fpu ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test12_android -D TEST_OUTPUT=tmpfile12.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref12_android.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(linkingIndirectNoversion ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test15_android -D TEST_OUTPUT=tmpfile15.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref15.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -# Box64 for Android now have problems with test16, then disable it for now - -#add_test(sse_asm ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test16_android -D TEST_OUTPUT=tmpfile16.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref16.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -# Box64 for Android now have problems with test17, then disable it for now - -#set_tests_properties(sse_asm PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - -#add_test(sse_intrinsics ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test17_android -D TEST_OUTPUT=tmpfile17.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref17_android.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -#set_tests_properties(sse_intrinsics PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0") - -add_test(aes ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test18_android -D TEST_OUTPUT=tmpfile18.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref18.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -# Android don't have backtrace symbols - -add_test(irelative_reloc ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test20_android -D TEST_OUTPUT=tmpfile20.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref20.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -# add_test(longjumpInSignals_nocosim ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test21_android -D TEST_OUTPUT=tmpfile21.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref21.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(x87 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test22_android -D TEST_OUTPUT=tmpfile22.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref22_android.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -set_tests_properties(x87 PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - -add_test(pshufb ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test23_android -D TEST_OUTPUT=tmpfile23.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref23.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(bswap ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test24_android -D TEST_OUTPUT=tmpfile24.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref24.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(x87cache ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test25_android -D TEST_OUTPUT=tmpfile25.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref25.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(feround ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test26_android -D TEST_OUTPUT=tmpfile26.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref26.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -set_tests_properties(feround PROPERTIES ENVIRONMENT "BOX64_SYNC_ROUNDING=1") - -# TODO: need to regen test with latest test27.c sources - -#add_test(sse4_2 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test27_android -D TEST_OUTPUT=tmpfile27.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref27.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(shaext ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test28_android -D TEST_OUTPUT=tmpfile28.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref28.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -add_test(lock ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test29_android -D TEST_OUTPUT=tmpfile29.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref29.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -#add_test(avx_intrinsics ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test30_android -D TEST_OUTPUT=tmpfile30.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref30.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -# -#set_tests_properties(avx_intrinsics PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0 BOX64_AVX=2") - -#add_test(AppImage ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} -# -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/hcl-X64.AppImage -D TEST_ARGS2=--help -D TEST_OUTPUT=tmpfileAppImage.txt -# -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/refAppImage.txt -# -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - -endif() - -if(NOT ANDROID) -add_test(NAME xsave_xrstor COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/misc/xsave_xrstor -D TEST_OUTPUT=tmpfile-xsave_xrstor.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/misc/xsave_xrstor.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake) - -file(GLOB extension_tests "${CMAKE_SOURCE_DIR}/tests/extensions/*.c") -foreach(file ${extension_tests}) - get_filename_component(testname "${file}" NAME_WE) - add_test(NAME "${testname}" COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/extensions/${testname} -D TEST_OUTPUT=tmpfile-${testname}.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/extensions/${testname}.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake) -endforeach() -else() - -file(GLOB extension_tests "${CMAKE_SOURCE_DIR}/tests/extensions/*.c") -foreach(file ${extension_tests}) - get_filename_component(testname "${file}" NAME_WE) - add_test(NAME "${testname}" COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/extensions/${testname}_android -D TEST_OUTPUT=tmpfile-${testname}.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/extensions/${testname}.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake) -endforeach() -endif() - -if(BOX32) - add_test(NAME bootSyscall_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test01 -D TEST_OUTPUT=tmpfile32_01.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref01.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME bootSyscallC_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test02 -D TEST_OUTPUT=tmpfile32_02.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref02.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME printf_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test03 -D TEST_OUTPUT=tmpfile32_03.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref03.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME args_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test04 -D TEST_ARGS2=yeah -D TEST_OUTPUT=tmpfile32_04.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref04.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME maths1_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test05 -D TEST_ARGS2=7 -D TEST_OUTPUT=tmpfile32_05.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref05.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME threadsStart_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test06 -D TEST_OUTPUT=tmpfile32_06.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref06.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME trig_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test07 -D TEST_OUTPUT=tmpfile32_07.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref07.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME pi_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test08 -D TEST_OUTPUT=tmpfile32_08.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref08.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME fork_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test09 -D TEST_OUTPUT=tmpfile32_09.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref09.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME cppThreads_32bits_nocosim COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test10 -D TEST_OUTPUT=tmpfile32_10.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref10.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - set_tests_properties(cppThreads_32bits_nocosim PROPERTIES ENVIRONMENT "BOX64_LD_LIBRARY_PATH=${CMAKE_SOURCE_DIR}/x86lib") - - add_test(NAME tlsData_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test11 -D TEST_OUTPUT=tmpfile32_11.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref11.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME fpu_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test12 -D TEST_OUTPUT=tmpfile32_12.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref12.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME contexts_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test13 -D TEST_OUTPUT=tmpfile32_13.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref13.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - if(NOT LD80BITS) - add_test(NAME conditionalThreads_32bits_nocosim COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test14 -D TEST_OUTPUT=tmpfile32_14.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref14.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - endif() - - add_test(NAME linkingIndirectNoversion_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test15 -D TEST_OUTPUT=tmpfile32_15.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref15.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME linkingIndirectVersion_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test16 -D TEST_OUTPUT=tmpfile32_16.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref16.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME sse_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test17 -D TEST_OUTPUT=tmpfile32_17.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref17.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - set_tests_properties(sse_32bits PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0") - - add_test(NAME longjumpInSignals_32bits_nocosim COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test18 -D TEST_OUTPUT=tmpfile32_18.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref18.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME x87_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test19 -D TEST_OUTPUT=tmpfile32_19.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref19.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - set_tests_properties(x87_32bits PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTROUND=0") - - add_test(NAME idiv_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test20 -D TEST_OUTPUT=tmpfile32_20.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref20.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - add_test(NAME multiple_dlopen_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test21 -D TEST_OUTPUT=tmpfile32_21.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref21.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - file(GLOB extension_tests "${CMAKE_SOURCE_DIR}/tests32/extensions/*.c") - foreach(file ${extension_tests}) - get_filename_component(testname "${file}" NAME_WE) - add_test(NAME "${testname}_32bits" COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/extensions/${testname} -D TEST_OUTPUT=tmpfile32_-${testname}.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/extensions/${testname}.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake) - endforeach() - - #add_test(NAME sse_optimized_32bits COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - # -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test17_o2 -D TEST_OUTPUT=tmpfile32_17_o2.txt - # -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref17_o2.txt - # -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) - - #set_tests_properties(sse_optimized_32bits PROPERTIES ENVIRONMENT "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0") - - add_test(bswap_32bits ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} - -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests32/test23 -D TEST_OUTPUT=tmpfile32_23.txt - -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests32/ref23.txt - -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -endif() +add_subdirectory(tests) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 000000000..18a66ab70 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,109 @@ +function(box64_add_test test_name test_num) + set(options 32BIT DISABLED_ON_ANDROID) + set(oneValueArgs REF_NUM ARGS2 ANDROID_REF_NUM) + set(multiValueArgs ENV) + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(NOT ARG_REF_NUM) + set(ARG_REF_NUM ${test_num}) + endif() + + if(ARG_32BIT) + set(_test_bin "${CMAKE_SOURCE_DIR}/tests32/test${test_num}") + set(_ref_file "${CMAKE_SOURCE_DIR}/tests32/ref${ARG_REF_NUM}.txt") + set(_output "tmpfile32_${test_num}.txt") + else() + if(ANDROID AND ARG_DISABLED_ON_ANDROID) + return() + endif() + + if(ANDROID) + set(_test_bin "${CMAKE_CURRENT_SOURCE_DIR}/test${test_num}_android") + if(ARG_ANDROID_REF_NUM) + set(ARG_REF_NUM "${ARG_ANDROID_REF_NUM}") + endif() + else() + set(_test_bin "${CMAKE_CURRENT_SOURCE_DIR}/test${test_num}") + endif() + + set(_ref_file "${CMAKE_CURRENT_SOURCE_DIR}/ref${ARG_REF_NUM}.txt") + set(_output "tmpfile${test_num}.txt") + endif() + + add_test(NAME ${test_name} COMMAND ${CMAKE_COMMAND} + -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX64} + -D TEST_ARGS=${_test_bin} + -D TEST_ARGS2=${ARG_ARGS2} + -D TEST_OUTPUT=${_output} + -D TEST_REFERENCE=${_ref_file} + -P ${CMAKE_SOURCE_DIR}/runTest.cmake) + + if(ARG_ENV) + set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "${ARG_ENV}") + endif() +endfunction() + +box64_add_test(bootSyscall 01) +box64_add_test(bootSyscallC 02) +box64_add_test(printf 03) +box64_add_test(args 04 ARGS2 yeah) +box64_add_test(maths1 05 ARGS2 7) +box64_add_test(threadsStart 06) +box64_add_test(trig 07) +box64_add_test(pi 08) +box64_add_test(fork 09) +box64_add_test(cppThreads_nocosim 10 ENV "BOX64_LD_LIBRARY_PATH=${CMAKE_SOURCE_DIR}/x64lib" DISABLED_ON_ANDROID) +box64_add_test(tlsData 11 DISABLED_ON_ANDROID) +box64_add_test(fpu 12 ANDROID_REF_NUM 12_android) +box64_add_test(contexts 13 DISABLED_ON_ANDROID) +# box64_add_test(conditionalThreads 14) # disabled: unstable conditional threads test +box64_add_test(linkingIndirectNoversion 15) +box64_add_test(sse_asm 16 ENV "BOX64_DYNAREC_FASTROUND=0" DISABLED_ON_ANDROID) +box64_add_test(sse_intrinsics 17 ENV "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0" DISABLED_ON_ANDROID) +box64_add_test(aes 18) +box64_add_test(backtrace 19 DISABLED_ON_ANDROID) +box64_add_test(irelative_reloc 20) +box64_add_test(longjumpInSignals_nocosim 21 DISABLED_ON_ANDROID) +box64_add_test(x87 22 ENV "BOX64_DYNAREC_FASTROUND=0" ANDROID_REF_NUM 22_android) +box64_add_test(pshufb 23) +box64_add_test(bswap 24) +box64_add_test(x87cache 25) +box64_add_test(feround 26 ENV "BOX64_SYNC_ROUNDING=1") +box64_add_test(sse4_2 27 DISABLED_ON_ANDROID) +box64_add_test(shaext 28) +box64_add_test(lock 29) +box64_add_test(avx_intrinsics 30 ENV "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0;BOX64_AVX=2" DISABLED_ON_ANDROID) +box64_add_test(fpu_rounding 31 ENV "BOX64_DYNAREC_FASTROUND=0" DISABLED_ON_ANDROID) +box64_add_test(x87pc 32 ENV "BOX64_DYNAREC_X87DOUBLE=2" DISABLED_ON_ANDROID) +box64_add_test(Boundary 33 DISABLED_ON_ANDROID) +box64_add_test(mmx 34) +box64_add_test(xsave_xrstor 35 DISABLED_ON_ANDROID) + +if(BOX32) + box64_add_test(bootSyscall_32bits 01 32BIT) + box64_add_test(bootSyscallC_32bits 02 32BIT) + box64_add_test(printf_32bits 03 32BIT) + box64_add_test(args_32bits 04 ARGS2 yeah 32BIT) + box64_add_test(maths1_32bits 05 ARGS2 7 32BIT) + box64_add_test(threadsStart_32bits 06 32BIT) + box64_add_test(trig_32bits 07 32BIT) + box64_add_test(pi_32bits 08 32BIT) + box64_add_test(fork_32bits 09 32BIT) + box64_add_test(cppThreads_32bits_nocosim 10 ENV "BOX64_LD_LIBRARY_PATH=${CMAKE_SOURCE_DIR}/x86lib" 32BIT) + box64_add_test(tlsData_32bits 11 32BIT) + box64_add_test(fpu_32bits 12 32BIT) + box64_add_test(contexts_32bits 13 32BIT) + if(NOT LD80BITS) + box64_add_test(conditionalThreads_32bits_nocosim 14 32BIT) + endif() + box64_add_test(linkingIndirectNoversion_32bits 15 32BIT) + box64_add_test(linkingIndirectVersion_32bits 16 32BIT) + box64_add_test(sse_32bits 17 ENV "BOX64_DYNAREC_FASTNAN=0;BOX64_DYNAREC_FASTROUND=0" 32BIT) + box64_add_test(longjumpInSignals_32bits_nocosim 18 32BIT) + box64_add_test(x87_32bits 19 ENV "BOX64_DYNAREC_FASTROUND=0" 32BIT) + box64_add_test(idiv_32bits 20 32BIT) + box64_add_test(multiple_dlopen_32bits 21 32BIT) + box64_add_test(bswap_32bits 23 32BIT) + box64_add_test(arpl_32bits 27 32BIT) + box64_add_test(mmx_32bits 28 32BIT) +endif() diff --git a/tests/extensions/mmx.txt b/tests/ref34.txt similarity index 100% rename from tests/extensions/mmx.txt rename to tests/ref34.txt diff --git a/tests/misc/xsave_xrstor.txt b/tests/ref35.txt similarity index 100% rename from tests/misc/xsave_xrstor.txt rename to tests/ref35.txt diff --git a/tests/extensions/mmx b/tests/test34 similarity index 100% rename from tests/extensions/mmx rename to tests/test34 diff --git a/tests/extensions/mmx.c b/tests/test34.c similarity index 100% rename from tests/extensions/mmx.c rename to tests/test34.c diff --git a/tests/extensions/mmx_android b/tests/test34_android similarity index 100% rename from tests/extensions/mmx_android rename to tests/test34_android diff --git a/tests/misc/xsave_xrstor b/tests/test35 similarity index 100% rename from tests/misc/xsave_xrstor rename to tests/test35 diff --git a/tests/misc/xsave_xrstor.c b/tests/test35.c similarity index 100% rename from tests/misc/xsave_xrstor.c rename to tests/test35.c diff --git a/tests32/extensions/arpl.txt b/tests32/ref27.txt similarity index 100% rename from tests32/extensions/arpl.txt rename to tests32/ref27.txt diff --git a/tests32/extensions/mmx.txt b/tests32/ref28.txt similarity index 100% rename from tests32/extensions/mmx.txt rename to tests32/ref28.txt diff --git a/tests32/extensions/arpl b/tests32/test27 similarity index 100% rename from tests32/extensions/arpl rename to tests32/test27 diff --git a/tests32/extensions/arpl.c b/tests32/test27.c similarity index 100% rename from tests32/extensions/arpl.c rename to tests32/test27.c diff --git a/tests32/extensions/mmx b/tests32/test28 similarity index 100% rename from tests32/extensions/mmx rename to tests32/test28 diff --git a/tests32/extensions/mmx.c b/tests32/test28.c similarity index 100% rename from tests32/extensions/mmx.c rename to tests32/test28.c