make-rules/setup.py.mk
changeset 6608 a98160718cfc
parent 6509 d45542b6400a
child 7124 3e0b5da5d4d1
--- a/make-rules/setup.py.mk	Thu Aug 11 09:26:07 2016 -0700
+++ b/make-rules/setup.py.mk	Thu Aug 11 15:38:58 2016 -0700
@@ -198,7 +198,8 @@
 SYSTEM_TEST_32_and_64 = $(SYSTEM_TEST_64)
 endif
 
-# test the built source
+# Test the built source.  If the output file shows up in the environment or
+# arguments, don't redirect stdout/stderr to it.
 $(BUILD_DIR)/%/.tested-and-compared:    $(COMPONENT_TEST_DEP)
 	$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
 	$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
@@ -206,7 +207,7 @@
 	-(cd $(COMPONENT_TEST_DIR) ; \
 		$(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
 		$(COMPONENT_TEST_CMD) $(COMPONENT_TEST_ARGS)) \
-		&> $(COMPONENT_TEST_OUTPUT)
+		$(if $(findstring $(COMPONENT_TEST_OUTPUT),$(COMPONENT_TEST_ENV)$(COMPONENT_TEST_ARGS)),,&> $(COMPONENT_TEST_OUTPUT))
 	$(COMPONENT_POST_TEST_ACTION)
 	$(COMPONENT_TEST_CREATE_TRANSFORMS)
 	$(COMPONENT_TEST_PERFORM_TRANSFORM)
@@ -223,7 +224,8 @@
 	$(COMPONENT_TEST_CLEANUP)
 	$(TOUCH) $@
 
-# test the installed system
+# Test the installed packages.  If the output file shows up in the environment
+# or arguments, don't redirect stdout/stderr to it.
 $(BUILD_DIR)/%/.system-tested-and-compared:    $(COMPONENT_SYSTEM_TEST_DEP)
 	$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
 	$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
@@ -233,7 +235,7 @@
 	-(cd $(COMPONENT_SYSTEM_TEST_DIR) ; \
 		$(COMPONENT_SYSTEM_TEST_ENV_CMD) $(COMPONENT_SYSTEM_TEST_ENV) \
 		$(COMPONENT_SYSTEM_TEST_CMD) $(COMPONENT_SYSTEM_TEST_ARGS)) \
-		&> $(COMPONENT_TEST_OUTPUT)
+		$(if $(findstring $(COMPONENT_TEST_OUTPUT),$(COMPONENT_SYSTEM_TEST_ENV)$(COMPONENT_SYSTEM_TEST_ARGS)),,&> $(COMPONENT_TEST_OUTPUT))
 	$(COMPONENT_POST_SYSTEM_TEST_ACTION)
 	$(COMPONENT_TEST_CREATE_TRANSFORMS)
 	$(COMPONENT_TEST_PERFORM_TRANSFORM)