Merge pull request #880 from Sonicadvance1/github_label_testing

Support disabling unit tests based on runner label
This commit is contained in:
Stefanos Kornilios Mitsis Poiitidis authored and GitHub committed 2021-03-22 18:18:08 +02:00
commit d2f636893d
8 files changed
+73 -46

No files matched your search

+3
View File
@@ -25,6 +25,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set runner label
run: echo "runner_label=${{ matrix.arch[1] }}" >> $GITHUB_ENV
- name : submodule checkout
# Need to update submodules
run: git submodule update --init --depth 1
@@ -1350,6 +1350,7 @@ void OpDispatchBuilder::XCHGOp(OpcodeArgs) {
OrderedNode *Src = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, -1);
if (DestIsMem(Op)) {
HandledLock = Op->Flags & FEXCore::X86Tables::DecodeFlags::FLAG_LOCK;
OrderedNode *Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, -1, false);
Dest = AppendSegmentOffset(Dest, Op->Flags);
@@ -4375,7 +4376,7 @@ void OpDispatchBuilder::CMPXCHGOp(OpcodeArgs) {
// This allows us to only hit the ZEXT case on failure
OrderedNode *RAXResult = _Select(FEXCore::IR::COND_EQ,
CASResult, Src3Lower,
Src3, Src3Lower);
Src3, Src1Lower);
// When the size is 4 we need to make sure not zext the GPR when the comparison fails
_StoreContext(GPRClass, GPRSize, offsetof(FEXCore::Core::CPUState, gregs[FEXCore::X86State::REG_RAX]), RAXResult);
+11 -5
View File
@@ -4,9 +4,9 @@ import subprocess
import os.path
from os import path
# Args: <Known Failures file> <DisabledTestsFile> <DisabledTestsTypeFile> <TestName> <Test Harness Executable> <Args>...
# Args: <Known Failures file> <DisabledTestsFile> <DisabledTestsTypeFile> <DisabledTestsRunnerFile> <TestName> <Test Harness Executable> <Args>...
if (len(sys.argv) < 6):
if (len(sys.argv) < 7):
sys.exit()
known_failures = {}
@@ -14,10 +14,11 @@ disabled_tests = {}
known_failures_file = sys.argv[1]
disabled_tests_file = sys.argv[2]
disabled_tests_type_file = sys.argv[3]
disabled_tests_runner_file = sys.argv[4]
current_test = sys.argv[4]
runner = sys.argv[5]
args_start_index = 6
current_test = sys.argv[5]
runner = sys.argv[6]
args_start_index = 7
# Open the known failures file and add it to a dictionary
with open(known_failures_file) as kff:
@@ -33,6 +34,11 @@ if path.exists(disabled_tests_type_file):
for line in dtf:
disabled_tests[line.strip()] = 1
if path.exists(disabled_tests_runner_file):
with open(disabled_tests_runner_file) as dtf:
for line in dtf:
disabled_tests[line.strip()] = 1
RunnerArgs = ["catchsegv", runner]
# Add the rest of the arguments
for i in range(len(sys.argv) - args_start_index):
+6
View File
@@ -55,6 +55,11 @@ foreach(ASM_SRC ${ASM_SOURCES})
"-c irjit -n 500 --multiblock" "jit_500_m" "jit"
)
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests")
if (DEFINED ENV{runner_label})
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_$ENV{runner_label}")
endif()
list(LENGTH TEST_ARGS ARG_COUNT)
math(EXPR ARG_COUNT "${ARG_COUNT}-1")
foreach(Index RANGE 0 ${ARG_COUNT} 3)
@@ -72,6 +77,7 @@ foreach(ASM_SRC ${ASM_SOURCES})
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Known_Failures"
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Disabled_Tests"
"${CMAKE_SOURCE_DIR}/unittests/32Bit_ASM/Disabled_Tests_${TEST_TYPE}"
"${RUNNER_DISABLED}"
"Test_32Bit_${REL_TEST_ASM}"
"${CMAKE_BINARY_DIR}/Bin/TestHarnessRunner"
${ARGS_LIST} "${OUTPUT_NAME}" "${OUTPUT_CONFIG_NAME}")
+6
View File
@@ -60,6 +60,11 @@ foreach(ASM_SRC ${ASM_SOURCES})
)
endif()
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests")
if (DEFINED ENV{runner_label})
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_$ENV{runner_label}")
endif()
list(LENGTH TEST_ARGS ARG_COUNT)
math(EXPR ARG_COUNT "${ARG_COUNT}-1")
foreach(Index RANGE 0 ${ARG_COUNT} 3)
@@ -82,6 +87,7 @@ foreach(ASM_SRC ${ASM_SOURCES})
"${CMAKE_SOURCE_DIR}/unittests/ASM/Known_Failures"
"${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests"
"${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_${TEST_TYPE}"
"${RUNNER_DISABLED}"
"Test_${REL_TEST_ASM}"
"${CMAKE_BINARY_DIR}/Bin/TestHarnessRunner"
${ARGS_LIST} "${OUTPUT_NAME}" "${OUTPUT_CONFIG_NAME}")
-40
View File
@@ -23,43 +23,3 @@ Test_Primary/Primary_E9.asm
Test_X87/D9_F9.asm
Test_X87/D9_F2.asm
# Doesn't support unaligned on armv8.0
Test_TwoByte/0F_B0_2.asm
Test_TwoByte/0F_B0_3.asm
Test_TwoByte/0F_B0_4.asm
Test_TwoByte/0F_B0_5.asm
Test_TwoByte/0F_B0_6.asm
Test_TwoByte/0F_B0_7.asm
Test_Secondary/09_XX_01_7.asm
Test_Secondary/09_XX_01_8.asm
Test_Secondary/09_XX_01_9.asm
# Doesn't support unaligned atomic memory ops on armv8.0
Test_Primary/Primary_01_Atomic16.asm
Test_Primary/Primary_01_Atomic32.asm
Test_Primary/Primary_01_Atomic64.asm
Test_Primary/Primary_09_Atomic16.asm
Test_Primary/Primary_09_Atomic32.asm
Test_Primary/Primary_09_Atomic64.asm
Test_Primary/Primary_23_Atomic16.asm
Test_Primary/Primary_23_Atomic32.asm
Test_Primary/Primary_23_Atomic64.asm
Test_Primary/Primary_29_Atomic16.asm
Test_Primary/Primary_29_Atomic32.asm
Test_Primary/Primary_29_Atomic64.asm
Test_Primary/Primary_31_Atomic16.asm
Test_Primary/Primary_31_Atomic32.asm
Test_Primary/Primary_31_Atomic64.asm
Test_Primary/Primary_87_Atomic16.asm
Test_Primary/Primary_87_Atomic32.asm
Test_Primary/Primary_87_Atomic64.asm
Test_Primary/Primary_FF_0_Atomic16.asm
Test_Primary/Primary_FF_0_Atomic32.asm
Test_Primary/Primary_FF_0_Atomic64.asm
Test_Primary/Primary_FF_1_Atomic16.asm
Test_Primary/Primary_FF_1_Atomic32.asm
Test_Primary/Primary_FF_1_Atomic64.asm
Test_TwoByte/0F_C0_Atomic16.asm
Test_TwoByte/0F_C0_Atomic32.asm
Test_TwoByte/0F_C0_Atomic64.asm
+39
View File
@@ -0,0 +1,39 @@
# Doesn't support unaligned on armv8.0
Test_TwoByte/0F_B0_2.asm
Test_TwoByte/0F_B0_3.asm
Test_TwoByte/0F_B0_4.asm
Test_TwoByte/0F_B0_5.asm
Test_TwoByte/0F_B0_6.asm
Test_TwoByte/0F_B0_7.asm
Test_Secondary/09_XX_01_7.asm
Test_Secondary/09_XX_01_8.asm
Test_Secondary/09_XX_01_9.asm
# Doesn't support unaligned atomic memory ops on armv8.0
Test_Primary/Primary_01_Atomic16.asm
Test_Primary/Primary_01_Atomic32.asm
Test_Primary/Primary_01_Atomic64.asm
Test_Primary/Primary_09_Atomic16.asm
Test_Primary/Primary_09_Atomic32.asm
Test_Primary/Primary_09_Atomic64.asm
Test_Primary/Primary_23_Atomic16.asm
Test_Primary/Primary_23_Atomic32.asm
Test_Primary/Primary_23_Atomic64.asm
Test_Primary/Primary_29_Atomic16.asm
Test_Primary/Primary_29_Atomic32.asm
Test_Primary/Primary_29_Atomic64.asm
Test_Primary/Primary_31_Atomic16.asm
Test_Primary/Primary_31_Atomic32.asm
Test_Primary/Primary_31_Atomic64.asm
Test_Primary/Primary_87_Atomic16.asm
Test_Primary/Primary_87_Atomic32.asm
Test_Primary/Primary_87_Atomic64.asm
Test_Primary/Primary_FF_0_Atomic16.asm
Test_Primary/Primary_FF_0_Atomic32.asm
Test_Primary/Primary_FF_0_Atomic64.asm
Test_Primary/Primary_FF_1_Atomic16.asm
Test_Primary/Primary_FF_1_Atomic32.asm
Test_Primary/Primary_FF_1_Atomic64.asm
Test_TwoByte/0F_C0_Atomic16.asm
Test_TwoByte/0F_C0_Atomic32.asm
Test_TwoByte/0F_C0_Atomic64.asm
+6
View File
@@ -26,6 +26,11 @@ foreach(IR_SRC ${IR_SOURCES})
"-c irjit -n 500" "ir_jit" "jit"
)
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests")
if (DEFINED ENV{runner_label})
set (RUNNER_DISABLED "${CMAKE_SOURCE_DIR}/unittests/ASM/Disabled_Tests_$ENV{runner_label}")
endif()
list(LENGTH TEST_ARGS ARG_COUNT)
math(EXPR ARG_COUNT "${ARG_COUNT}-1")
foreach(Index RANGE 0 ${ARG_COUNT} 3)
@@ -46,6 +51,7 @@ foreach(IR_SRC ${IR_SOURCES})
"${CMAKE_SOURCE_DIR}/unittests/IR/Known_Failures"
"${CMAKE_SOURCE_DIR}/unittests/IR/Disabled_Tests"
"${CMAKE_SOURCE_DIR}/unittests/IR/Disabled_Tests_${TEST_TYPE}"
"${RUNNER_DISABLED}"
"Test_${IR_NAME}"
"${CMAKE_BINARY_DIR}/Bin/IRLoader"
${ARGS_LIST} "${IR_SRC}" "${OUTPUT_CONFIG_NAME}")