diff --git a/scripts/testTKG/test_platformRequirements.py b/scripts/testTKG/test_platformRequirements.py index a41d4c5b..dd10f6b8 100644 --- a/scripts/testTKG/test_platformRequirements.py +++ b/scripts/testTKG/test_platformRequirements.py @@ -149,6 +149,7 @@ def run_test(): skipped.add('test_not_arch_390_0') else: passed.add('test_not_arch_390_0') + passed.add('test_not_arch_390_z15plus_0') if 'test_arch_390_z15_0' not in passed: skipped.add('test_arch_390_z15_0') diff --git a/src/org/testKitGen/TestInfoParser.java b/src/org/testKitGen/TestInfoParser.java index 6a4b9428..f9c6a3ae 100644 --- a/src/org/testKitGen/TestInfoParser.java +++ b/src/org/testKitGen/TestInfoParser.java @@ -88,11 +88,15 @@ public TestInfo parse() { ti.addFeature(featElements[0].toLowerCase(), featElements[1].toLowerCase()); } Set testFlags = new HashSet<>(arg.getTestFlag()); + boolean requiredFeatureFound = false; + boolean hasRequiredFeature = false; for (Map.Entry entry : ti.getFeatures().entrySet()) { String featureOpt = entry.getValue().toLowerCase(); if (featureOpt.equals("required")) { - if (!isFeatureInTestFlags(testFlags, entry.getKey())) { - return null; + hasRequiredFeature = true; + if (isFeatureInTestFlags(testFlags, entry.getKey())) { + requiredFeatureFound = true; + break; } } else if (featureOpt.equals("nonapplicable")) { // Do not generate make target if the test is not applicable for one feature defined in TEST_FLAG @@ -106,7 +110,9 @@ public TestInfo parse() { System.exit(1); } } - + if (hasRequiredFeature && !requiredFeatureFound) { + return null; + } if (testFlags.contains("aot")) { for (Map.Entry entry : ti.getFeatures().entrySet()) { if (doesFeatureMatchTestFlag("aot", entry.getKey())) {