@@ -88,6 +88,40 @@ add_test(FeaturesTests
8888 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
8989)
9090
91+ # These tests must be run independently. Otherwise we won't detect when one succeeds.
92+ # Because cstest will always return not 0 from the first failing test onwards.
93+ # But we need to ensure all of them fail always.
94+ add_test (NegativeTests1
95+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_I.yaml
96+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
97+ )
98+ set_property (TEST NegativeTests1 PROPERTY WILL_FAIL TRUE )
99+ add_test (NegativeTests2
100+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_II.yaml
101+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
102+ )
103+ set_property (TEST NegativeTests2 PROPERTY WILL_FAIL TRUE )
104+ add_test (NegativeTests3
105+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_III.yaml
106+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
107+ )
108+ set_property (TEST NegativeTests3 PROPERTY WILL_FAIL TRUE )
109+ add_test (NegativeTests4
110+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_IV.yaml
111+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
112+ )
113+ set_property (TEST NegativeTests4 PROPERTY WILL_FAIL TRUE )
114+ add_test (NegativeTests5
115+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_V.yaml
116+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
117+ )
118+ set_property (TEST NegativeTests5 PROPERTY WILL_FAIL TRUE )
119+ add_test (NegativeTests6
120+ cstest ${PROJECT_SOURCE_DIR} /tests/negative/should_fail_VI.yaml
121+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
122+ )
123+ set_property (TEST NegativeTests6 PROPERTY WILL_FAIL TRUE )
124+
91125
92126if (CAPSTONE_INSTALL)
93127 install (TARGETS cstest EXPORT capstone-targets DESTINATION ${CMAKE_INSTALL_BINDIR} )
0 commit comments