[telepathy-mission-control/master] Run each test with MC writing to its own temporary directory

Simon McVittie simon.mcvittie at collabora.co.uk
Wed May 27 04:55:05 PDT 2009


This avoids having to worry about whether accounts.cfg is still around
from a previous run.
---
 .gitignore               |    1 +
 test/twisted/Makefile.am |   47 ++++++++++++++++++++++++++++++++-------------
 2 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/.gitignore b/.gitignore
index 97f3fea..b35e548 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,5 +78,6 @@ test/twisted/tools/exec-with-log.sh
 test/twisted/tools/missioncontrol-*.log
 test/twisted/tools/tmp-session-bus.conf
 /test/twisted/tools/*.service
+/test/twisted/tmp-*/
 util/mc-account-convert
 util/mc-tool
diff --git a/test/twisted/Makefile.am b/test/twisted/Makefile.am
index 7320a83..796666b 100644
--- a/test/twisted/Makefile.am
+++ b/test/twisted/Makefile.am
@@ -59,18 +59,20 @@ INCLUDES = \
 
 TESTS =
 
+TMPSUFFIX = foo
+
 BASIC_TESTS_ENVIRONMENT = \
 	PYTHONPATH=@abs_top_srcdir@/test/twisted:@abs_top_builddir@/test/twisted \
 	MC_DEBUG=2 \
 	MC_TP_DEBUG=all \
 	MC_FILTER_PLUGIN_DIR=@abs_top_builddir@/test/twisted/.libs \
-	MC_CHANDLERS_DIR=@abs_top_builddir@/test/twisted/chandlers \
-	MC_ACCOUNT_DIR=@abs_top_builddir@/test/twisted/accounts \
-	XDG_DATA_HOME=@abs_top_builddir@/test/twisted \
+	MC_CHANDLERS_DIR=@abs_top_srcdir@/test/twisted/chandlers \
+	MC_ACCOUNT_DIR=@abs_top_builddir@/test/twisted/tmp-$(TMPSUFFIX) \
+	XDG_DATA_HOME=@abs_top_builddir@/test/twisted/tmp-$(TMPSUFFIX) \
 	XDG_DATA_DIRS=@abs_top_srcdir@/test/twisted \
-	XDG_CACHE_DIR=@abs_top_builddir@/test/twisted \
-	MC_CLIENTS_DIR=@abs_top_builddir@/test/twisted/telepathy/clients \
-	MC_MANAGER_DIR=@abs_top_builddir@/test/twisted/telepathy/managers \
+	XDG_CACHE_DIR=@abs_top_builddir@/test/twisted/tmp-$(TMPSUFFIX) \
+	MC_CLIENTS_DIR=@abs_top_srcdir@/test/twisted/telepathy/clients \
+	MC_MANAGER_DIR=@abs_top_srcdir@/test/twisted/telepathy/managers \
 	G_DEBUG=fatal_criticals
 
 WITH_SESSION_BUS = \
@@ -94,19 +96,36 @@ check-twisted:
 	$(MAKE) -C tools
 	rm -f tools/core
 	rm -f tools/missioncontrol-*.log
-	rm -f accounts/accounts.cfg
-	rm -f accounts/.mc_connections
-	env $(BASIC_TESTS_ENVIRONMENT) $(WITH_SESSION_BUS) $(MAKE) check-TESTS \
-		TESTS='$$(TWISTED_BASIC_TESTS)' \
-		TESTS_ENVIRONMENT='$$(COMBINED_TESTS_ENVIRONMENT)'
-	$(MAKE) check-TESTS \
-		TESTS='$$(TWISTED_SEPARATE_TESTS)' \
-		TESTS_ENVIRONMENT='$$(SEPARATE_TESTS_ENVIRONMENT)'
+	mkdir tmp-$$$$ && { \
+		$(MAKE) check-combined TMPSUFFIX=$$$$; \
+		e=$$?; \
+		rm -rf tmp-$$$$; \
+	exit $$e; }
+	for TESTS in $(TWISTED_SEPARATE_TESTS); do export TESTS; ( \
+	rm -rf tmp-$$$$ && mkdir tmp-$$$$ && { \
+		e=0; \
+		$(MAKE) check-separate \
+			TMPSUFFIX=$$$$ \
+			TESTS=$$TESTS \
+		|| e=$$?; \
+		rm -rf tmp-$$$$; \
+	}; exit $$e ) || exit $$?; done
 	@if test -e tools/core; then\
 		echo "Core dump exists: tools/core";\
 		exit 1;\
 	fi
 
+check-combined:
+	env $(BASIC_TESTS_ENVIRONMENT) $(WITH_SESSION_BUS) \
+	$(MAKE) check-TESTS \
+		TESTS='$$(TWISTED_BASIC_TESTS)' \
+		TESTS_ENVIRONMENT='$$(COMBINED_TESTS_ENVIRONMENT)'
+
+check-separate:
+	echo "Running $(TESTS) in tmp-$(TMPSUFFIX)"
+	$(MAKE) check-TESTS \
+		TESTS_ENVIRONMENT='$$(SEPARATE_TESTS_ENVIRONMENT)'
+
 EXTRA_DIST = \
 	$(TWISTED_BASIC_TESTS) \
 	$(TWISTED_SEPARATE_TESTS) \
-- 
1.5.6.5




More information about the telepathy-commits mailing list