Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 8a71d8e3d1dcbe97636a71f179b79b5476258346)
+++ tests/Makefile.am	(revision e6cfb4e2ba24af6428609120bfe63040fc3de631)
@@ -139,32 +139,42 @@
 # tests that just validate syntax and compiler output should be compared to stderr
 SYNTAX_ONLY_CODE = expression typedefRedef variableDeclarator switch numericConstants identFuncDeclarator forall limits nested-types stdincludes cast labelledExit array builtins/sync warnings/self-assignment
+CFACOMPILE_SYNTAX = $(CFACOMPILETEST) -Wno-unused-variable -Wno-unused-label -c -fsyntax-only -o $(abspath ${@})
 $(SYNTAX_ONLY_CODE): % : %.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -Wno-unused-variable -Wno-unused-label -c -fsyntax-only 2> $(abspath ${@})
+	$(CFACOMPILE_SYNTAX)
+	$(if $(test), cp $(test) $(abspath ${@}), )
 
 # expected failures
-# use custom target since they require a custom define and custom dependencies
+# use custom target since they require a custom define *and* have a name that doesn't match the file
 alloc-ERROR : alloc.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 typedefRedef-ERR1 : typedefRedef.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 nested-types-ERR1 : nested-types.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 nested-types-ERR2 : nested-types.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR2 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR2
+	-cp $(test) $(abspath ${@})
 
 raii/memberCtors-ERR1 : raii/memberCtors.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 raii/ctor-autogen-ERR1 : raii/ctor-autogen.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 raii/dtor-early-exit-ERR1 : raii/dtor-early-exit.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR1 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR1
+	-cp $(test) $(abspath ${@})
 
 raii/dtor-early-exit-ERR2 : raii/dtor-early-exit.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -DERR2 -c -fsyntax-only -o $(abspath ${@})
+	$(CFACOMPILE_SYNTAX) -DERR2
+	-cp $(test) $(abspath ${@})
 
 # Exception Tests
Index: tests/test.py
===================================================================
--- tests/test.py	(revision 8a71d8e3d1dcbe97636a71f179b79b5476258346)
+++ tests/test.py	(revision e6cfb4e2ba24af6428609120bfe63040fc3de631)
@@ -173,10 +173,16 @@
 	test.prepare()
 
+	# ----------
+	# MAKE
+	# ----------
 	# build, skipping to next test on error
 	with Timed() as comp_dur:
 		make_ret, _ = make( test.target(), output_file=subprocess.DEVNULL, error=out_file, error_file = err_file )
 
+	# ----------
+	# RUN
+	# ----------
+	# run everything in a temp directory to make sure core file are handled properly
 	run_dur = None
-	# run everything in a temp directory to make sure core file are handled properly
 	with tempdir():
 		# if the make command succeeds continue otherwise skip to diff
