diff --git a/auto/unity_test_summary.rb b/auto/unity_test_summary.rb index cfa267b..0593038 100755 --- a/auto/unity_test_summary.rb +++ b/auto/unity_test_summary.rb @@ -91,6 +91,9 @@ class UnityTestSummary next unless status_match status = status_match.captures[0] + # A line ending in :PASS is a passing expected-failure test; the FAIL + # earlier on the same line was the intentional (caught) assertion. + status = 'PASS' if line.end_with?(':PASS') && status == 'FAIL' line_out = (@root && (@root != 0) ? "#{@root}#{line}" : line).gsub(/\//, '\\') case status diff --git a/test/targets/clang.yml b/test/targets/clang.yml index e1d7133..802bf8b 100644 --- a/test/targets/clang.yml +++ b/test/targets/clang.yml @@ -65,11 +65,13 @@ - "-o ${2}" :version: --version :test_fixture: - :name: test_fixture - :optional: true - :executable: '${1}' - :arguments: [] + :name: clang_fixture + :executable: '' :version: --version + :optional: true + :arguments: + - ${1} + - ${2} :gcov_compiler: :name: gcov_compiler :executable: clang diff --git a/test/targets/gcc.yml b/test/targets/gcc.yml index d070f51..d599ad3 100644 --- a/test/targets/gcc.yml +++ b/test/targets/gcc.yml @@ -48,11 +48,13 @@ - "-o ${2}" :version: --version :test_fixture: - :name: test_fixture - :optional: true - :executable: '${1}' - :arguments: [] + :name: gcc_fixture + :executable: '' :version: --version + :optional: true + :arguments: + - ${1} + - ${2} :gcov_compiler: :name: gcov_compiler :executable: gcc