Run gcc target tests with block size 1

info files for the test runner like Disabled_Tests, Known_Failures,
etc, receive not just the filename but the test name (which is the test name
and potentially its running config).

Increase the timeout of gcc tests to 30secs.
This commit is contained in:
Paulo Matos committed 2025-05-07 16:14:53 +02:00
1 parent 89e5041e70
commit ec0683b729
5 files changed
+132 -42

No files matched your search

+23 -17
View File
@@ -4,27 +4,33 @@
file(GLOB_RECURSE TESTS CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/External/fex-gcc-target-tests-bins/32/*)
foreach(TEST ${TESTS})
# Extract test file name
string(REPLACE "/fex-gcc-target-tests-bins/32/" ";" TEST_NAME_LIST ${TEST})
list(GET TEST_NAME_LIST 1 TEST_NAME)
string(REPLACE "/" "-" TEST_NAME ${TEST_NAME})
add_test(NAME "${TEST_NAME}.jit.gcc-target-32"
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/guest_test_runner.py"
"${CMAKE_CURRENT_SOURCE_DIR}/Known_Failures"
"${CMAKE_CURRENT_SOURCE_DIR}/Expected_Output"
"${CMAKE_CURRENT_SOURCE_DIR}/Disabled_Tests"
"${CMAKE_CURRENT_SOURCE_DIR}/Flake_Tests"
"${TEST_NAME}"
"guest"
"${CMAKE_BINARY_DIR}/Bin/FEXLoader"
"-o" "stderr" "--no-silentlog" "-n" "500" "--"
"${TEST}")
set_property(TEST "${TEST_NAME}.jit.gcc-target-32" APPEND PROPERTY SKIP_RETURN_CODE 125)
list(GET TEST_NAME_LIST 1 TEST_FILE_NAME)
# Loop over block sizes
foreach(BLOCK_SIZE 500 1)
# Create TEST_NAME from TEST_FILE_NAME
string(REPLACE "/" "-" TEST_NAME ${TEST_FILE_NAME})
string(APPEND TEST_NAME ".n${BLOCK_SIZE}.gcc-target-32")
add_test(NAME "${TEST_NAME}"
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/guest_test_runner.py"
"${CMAKE_CURRENT_SOURCE_DIR}/Known_Failures"
"${CMAKE_CURRENT_SOURCE_DIR}/Expected_Output"
"${CMAKE_CURRENT_SOURCE_DIR}/Disabled_Tests"
"${CMAKE_CURRENT_SOURCE_DIR}/Flake_Tests"
"${TEST_NAME}"
"guest"
"${CMAKE_BINARY_DIR}/Bin/FEXLoader"
"-o" "stderr" "--no-silentlog" "-n" "${BLOCK_SIZE}" "--"
"${TEST}")
set_property(TEST "${TEST_NAME}" APPEND PROPERTY SKIP_RETURN_CODE 125)
endforeach()
endforeach()
add_custom_target(
gcc_target_tests_32
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
USES_TERMINAL
COMMAND "ctest" "--output-on-failure" "--timeout" "20" ${TEST_JOB_FLAG} "-R" "\.*.gcc-target-32$$")
COMMAND "ctest" "--output-on-failure" "--timeout" "40" ${TEST_JOB_FLAG} "-R" "\.*.gcc-target-32$$")
+42 -5
View File
@@ -1,12 +1,49 @@
# Uses AVX
pr57275.c.gcc-target-test-64
pr57275.c.gcc-target-test-32.n1.gcc-target-32
pr57275.c.gcc-target-test-32.n500.gcc-target-32
# Consistently crashes on Solidrun only in CI
20080723-1.c.gcc-target-test-32
20080723-1.c.gcc-target-test-32.n1.gcc-target-32
20080723-1.c.gcc-target-test-32.n500.gcc-target-32
# These tests fail because of things unrelated to the sse4.1 instructions
sse4_1-ceil-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-ceil-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-ceilf-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-ceilf-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-floor-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-floor-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-floorf-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-floorf-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-rint-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-rint-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-rintf-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-rintf-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-round-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-round-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-roundf-sfix-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-roundf-sfix-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-rint-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-rint-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-roundf-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-roundf-vec.c.gcc-target-test-32.n500.gcc-target-32
# These tests fail on Nvidia Xavier ONLY
sse4_1-rintf-vec.c.gcc-target-test-32
sse4_1-round-vec.c.gcc-target-test-32
sse4_1-rintf-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-rintf-vec.c.gcc-target-test-32.n500.gcc-target-32
sse4_1-round-vec.c.gcc-target-test-32.n1.gcc-target-32
sse4_1-round-vec.c.gcc-target-test-32.n500.gcc-target-32
# This has a race with SIGPROF
mcount_pic.c.gcc-target-test-32
mcount_pic.c.gcc-target-test-32.n1.gcc-target-32
mcount_pic.c.gcc-target-test-32.n500.gcc-target-32
+34 -2
View File
@@ -1,2 +1,34 @@
pr72867.c.gcc-target-test-32
sse2-mmx-pextrw.c.gcc-target-test-32
pr72867.c.gcc-target-test-32.n500.gcc-target-32
pr72867.c.gcc-target-test-32.n1.gcc-target-32
sse2-mmx-pextrw.c.gcc-target-test-32.n500.gcc-target-32
sse2-mmx-pextrw.c.gcc-target-test-32.n1.gcc-target-32
# Consistently crashes on Solidrun only in CI
20080723-1.c.gcc-target-test-32
# These tests fail because of things unrelated to the sse4.1 instructions
sse4_1-ceil-sfix-vec.c.gcc-target-test-32
sse4_1-ceilf-sfix-vec.c.gcc-target-test-32
sse4_1-floor-sfix-vec.c.gcc-target-test-32
sse4_1-floorf-sfix-vec.c.gcc-target-test-32
sse4_1-rint-sfix-vec.c.gcc-target-test-32
sse4_1-rintf-sfix-vec.c.gcc-target-test-32
sse4_1-round-sfix-vec.c.gcc-target-test-32
sse4_1-roundf-sfix-vec.c.gcc-target-test-32
sse4_1-rint-vec.c.gcc-target-test-32
sse4_1-roundf-vec.c.gcc-target-test-32
# These tests fail on Nvidia Xavier ONLY
sse4_1-rintf-vec.c.gcc-target-test-32
sse4_1-round-vec.c.gcc-target-test-32
# This has a race with SIGPROF
mcount_pic.c.gcc-target-test-32
# See https://github.com/FEX-Emu/FEX/issues/4436
# Test has invalid asm. Fails on host as well.
# It passes for -n 500 due to x87 stack optimization pass
# not actually doing a fld/fst pair and instead doing the
# memory store directly.
pr88240.c.gcc-target-test-32.n1.gcc-target-32
+22 -16
View File
@@ -4,27 +4,33 @@
file(GLOB_RECURSE TESTS CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/External/fex-gcc-target-tests-bins/64/*)
foreach(TEST ${TESTS})
# Extract test file name
string(REPLACE "/fex-gcc-target-tests-bins/64/" ";" TEST_NAME_LIST ${TEST})
list(GET TEST_NAME_LIST 1 TEST_NAME)
string(REPLACE "/" "-" TEST_NAME ${TEST_NAME})
list(GET TEST_NAME_LIST 1 TEST_FILE_NAME)
add_test(NAME "${TEST_NAME}.jit.gcc-target-64"
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/guest_test_runner.py"
"${CMAKE_CURRENT_SOURCE_DIR}/Known_Failures"
"${CMAKE_CURRENT_SOURCE_DIR}/Expected_Output"
"${CMAKE_CURRENT_SOURCE_DIR}/Disabled_Tests"
"${CMAKE_CURRENT_SOURCE_DIR}/Flake_Tests"
"${TEST_NAME}"
"guest"
"${CMAKE_BINARY_DIR}/Bin/FEXLoader"
"-o" "stderr" "--no-silentlog" "-n" "500" "--"
"${TEST}")
set_property(TEST "${TEST_NAME}.jit.gcc-target-64" APPEND PROPERTY SKIP_RETURN_CODE 125)
# Loop over block sizes
foreach(BLOCK_SIZE 500 1)
# Create TEST_NAME from TEST_FILE_NAME
string(REPLACE "/" "-" TEST_NAME ${TEST_FILE_NAME})
string(APPEND TEST_NAME ".n${BLOCK_SIZE}.gcc-target-64")
add_test(NAME "${TEST_NAME}"
COMMAND "python3" "${CMAKE_SOURCE_DIR}/Scripts/guest_test_runner.py"
"${CMAKE_CURRENT_SOURCE_DIR}/Known_Failures"
"${CMAKE_CURRENT_SOURCE_DIR}/Expected_Output"
"${CMAKE_CURRENT_SOURCE_DIR}/Disabled_Tests"
"${CMAKE_CURRENT_SOURCE_DIR}/Flake_Tests"
"${TEST_NAME}"
"guest"
"${CMAKE_BINARY_DIR}/Bin/FEXLoader"
"-o" "stderr" "--no-silentlog" "-n" "${BLOCK_SIZE}" "--"
"${TEST}")
set_property(TEST "${TEST_NAME}" APPEND PROPERTY SKIP_RETURN_CODE 125)
endforeach()
endforeach()
add_custom_target(
gcc_target_tests_64
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
USES_TERMINAL
COMMAND "ctest" "--output-on-failure" "--timeout" "20" ${TEST_JOB_FLAG} "-R" "\.*.gcc-target-64$$")
COMMAND "ctest" "--output-on-failure" "--timeout" "40" ${TEST_JOB_FLAG} "-R" "\.*.gcc-target-64$$")
+11 -2
View File
@@ -3,7 +3,8 @@
# Passes the argument to bar in eax
# 'bar' accepts the argument in edi
# inline asm is incorrect, needs to use =d and d on the value
asm-5.c.gcc-target-test-64
asm-5.c.gcc-target-test-64.n500.gcc-target-64
asm-5.c.gcc-target-test-64.n1.gcc-target-64
# Fails even on host device
# 'test_pextrw' does a zero extend to the gpr
@@ -11,4 +12,12 @@ asm-5.c.gcc-target-test-64
# While the 'compute_correct_result' value does a sign extension
# Which turns the value in to 0xfffff2f5
# This causes its comparison to fail
sse2-mmx-pextrw.c.gcc-target-test-64
sse2-mmx-pextrw.c.gcc-target-test-64.n500.gcc-target-64
sse2-mmx-pextrw.c.gcc-target-test-64.n1.gcc-target-64
# See https://github.com/FEX-Emu/FEX/issues/4436
# Test has invalid asm. Fails on host as well.
# It passes for -n 500 due to x87 stack optimization pass
# not actually doing a fld/fst pair and instead doing the
# memory store directly.
pr88240.c.gcc-target-test-64.n1.gcc-target-64