From 3ef4847434bbf9e8224000c3a76fe3dff90ee250 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Mon, 29 Jan 2018 09:43:49 -0600 Subject: [PATCH] Added remove step in tests to force rebuild Found by user iamscottmoyers, this was an interesting bug with the test system. If the new test.c file is generated fast enough, it may not have a new timestamp and not get recompiled. To fix, we can remove the specific files that need to be rebuilt (lfs and test.o). --- tests/test.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test.py b/tests/test.py index aa125c7..fcbb826 100755 --- a/tests/test.py +++ b/tests/test.py @@ -21,9 +21,17 @@ def generate(test): else: lines.append(line) + # Create test file with open('test.c', 'w') as file: file.write(template.format(tests='\n'.join(lines))) + # Remove build artifacts to force rebuild + try: + os.remove('test.o') + os.remove('lfs') + except OSError: + pass + def compile(): os.environ['CFLAGS'] = os.environ.get('CFLAGS', '') + ' -Werror' subprocess.check_call(['make', '--no-print-directory', '-s'], env=os.environ)