From 30895144f680a8b9a8b4b6313edb726361d36000 Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Fri, 26 Nov 2010 13:50:29 +0200
Subject: Save test result to a temp file instead of piping it to diff

This makes tests more robust.
---
 mysql/template/makefile   | 5 ++++-
 mysql/truncation/makefile | 5 ++++-
 mysql/types/makefile      | 5 ++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

(limited to 'mysql')

diff --git a/mysql/template/makefile b/mysql/template/makefile
index d634728..05285ec 100644
--- a/mysql/template/makefile
+++ b/mysql/template/makefile
@@ -64,7 +64,9 @@ $(dist):
 $(test): $(driver) $(src_base)/test.std
 	$(call message,sql $$1,$(dcf_root)/db-driver $$1, $(src_base)/test.sql)
 	$(call message,test $<,$< --options-file $(dcf_root)/db.options \
-| diff -u $(src_base)/test.std -)
+>$(out_base)/test.out)
+	$(call message,,diff -u $(src_base)/test.std $(out_base)/test.out)
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Clean.
 #
@@ -73,6 +75,7 @@ $(clean):                            \
   $(addsuffix .cxx.clean,$(cxx_obj)) \
   $(addsuffix .cxx.clean,$(cxx_od))  \
   $(addprefix $(out_base)/,$(odb_hdr:.hxx=-odb.cxx.hxx.clean))
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Generated .gitignore.
 #
diff --git a/mysql/truncation/makefile b/mysql/truncation/makefile
index 331bc34..79de168 100644
--- a/mysql/truncation/makefile
+++ b/mysql/truncation/makefile
@@ -65,7 +65,9 @@ $(dist):
 $(test): $(driver) $(src_base)/test.std
 	$(call message,sql $$1,$(dcf_root)/db-driver $$1, $(src_base)/test.sql)
 	$(call message,test $<,$< --options-file $(dcf_root)/db.options \
-| diff -u $(src_base)/test.std -)
+>$(out_base)/test.out)
+	$(call message,,diff -u $(src_base)/test.std $(out_base)/test.out)
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Clean.
 #
@@ -74,6 +76,7 @@ $(clean):                            \
   $(addsuffix .cxx.clean,$(cxx_obj)) \
   $(addsuffix .cxx.clean,$(cxx_od))  \
   $(addprefix $(out_base)/,$(odb_hdr:.hxx=-odb.cxx.hxx.clean))
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Generated .gitignore.
 #
diff --git a/mysql/types/makefile b/mysql/types/makefile
index 60ee402..d84614b 100644
--- a/mysql/types/makefile
+++ b/mysql/types/makefile
@@ -67,7 +67,9 @@ $(dist):
 $(test): $(driver) $(src_base)/test.std
 	$(call message,sql $$1,$(dcf_root)/db-driver $$1, $(src_base)/test.sql)
 	$(call message,test $<,$< --options-file $(dcf_root)/db.options \
-| diff -u $(src_base)/test.std -)
+>$(out_base)/test.out)
+	$(call message,,diff -u $(src_base)/test.std $(out_base)/test.out)
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Clean.
 #
@@ -76,6 +78,7 @@ $(clean):                            \
   $(addsuffix .cxx.clean,$(cxx_obj)) \
   $(addsuffix .cxx.clean,$(cxx_od))  \
   $(addprefix $(out_base)/,$(odb_hdr:.hxx=-odb.cxx.hxx.clean))
+	$(call message,,rm -f $(out_base)/test.out)
 
 # Generated .gitignore.
 #
-- 
cgit v1.1