From c39cf9ca9025a15ecb673b6da3987c990fa99f2c Mon Sep 17 00:00:00 2001 From: Bailey Parker Date: Tue, 20 Feb 2018 02:16:37 -0500 Subject: [PATCH] Add test to assert grad error handling support claimed in #11 --- tests/simple_test/phase_test_base.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/simple_test/phase_test_base.py b/tests/simple_test/phase_test_base.py index f301da1..2bac688 100644 --- a/tests/simple_test/phase_test_base.py +++ b/tests/simple_test/phase_test_base.py @@ -36,6 +36,9 @@ def test_tests_pass_for_dummy_compiler(self): for fixture in fixtures: self.assertGoodFakeCompilerPasses(fake_compiler, fixture) + if fixture.phase_file.has_error: + self.assertMultipleErrorsPasses(fake_compiler, fixture) + for for_stdin in (False, True): self.assertBadStdoutFakeCompilerFails(fake_compiler, fixture, for_stdin) @@ -45,7 +48,17 @@ def test_tests_pass_for_dummy_compiler(self): def assertGoodFakeCompilerPasses(self, fake_compiler, fixture): phase_file = fixture.phase_file - stderr = 'error: \n' if phase_file.has_error else '' + stderr = 'error: blah blah\n' if phase_file.has_error else '' + self.run_fake_compiler(fake_compiler, fixture, (phase_file.stdout, + stderr)) + + self.assertFakeCompilerHasCalls(fake_compiler, fixture) + + def assertMultipleErrorsPasses(self, fake_compiler, fixture): + phase_file = fixture.phase_file + assert phase_file.has_error, 'should only be called for error fixtures' + + stderr = 'error: foo bar\nerror: baz blah' self.run_fake_compiler(fake_compiler, fixture, (phase_file.stdout, stderr))