* support/regression/HTMLgen.py: added compare_s2f()
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 May 2003 08:46:12 +0000 (08:46 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 May 2003 08:46:12 +0000 (08:46 +0000)
* support/regression/Makefile: redo 1.27
* support/regression/generate-cases.py: redo 1.5

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2583 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
support/regression/HTMLgen.py
support/regression/Makefile
support/regression/generate-cases.py

index 0250f43b32e8d13d9c89eff44eedf89b300c728f..f9c4e35a9d18636723369734c228769f82f7fab0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-04  Bernhard Held <bernhard@bernhardheld.de>
+
+       * support/regression/HTMLgen.py: added compare_s2f()
+       * support/regression/Makefile: redo 1.27
+       * support/regression/generate-cases.py: redo 1.5
+
 2003-04-30  Bernhard Held <bernhard@bernhardheld.de>
 
        * support/regression/tests/float.c: workaround 33 bit hex constant
index 055a204705fa7a028de527b4c7cc8eaa2a122fcd..3f44e2540ea35a30292f336c1138da5a37fa41e2 100644 (file)
@@ -185,3 +185,23 @@ class TemplateDocument(StringTemplate):
         f = open(template)
         self.source = f.read()
         f.close()
+
+def compare_s2f(s, f2):
+    """Helper to compare a string to a file, return 0 if they are equal."""
+
+    BUFSIZE = 8192
+    i = 0
+    fp2 = open(f2)
+    try:
+        while 1:
+            try:
+                b1 = s[i: i + BUFSIZE]
+                i = i + BUFSIZE
+            except IndexError:
+                b1 = ''
+            b2 = fp2.read(BUFSIZE)
+            if not b1 and not b2: return 0
+            c = cmp(b1, b2)
+            if c: return c
+    finally:
+        fp2.close()
index a6301688e78a468c031f3dc4cf3cce030c6b2fa5..801d4681784f0ad3036ac0e67ca274c635d73e3b 100644 (file)
@@ -146,11 +146,8 @@ SDCCFLAGS += -Ifwk/include -Itests
 # Rule to generate the iterations of a test suite off the soure suite.
 $(PORT_CASES_DIR)/%/iterations.stamp: $(TESTS_DIR)/%.c $(GENERATE_CASES)
        echo Processing $<
-       rm -rf $(CASES_DIR)/$(PORT)/$(TESTS_NAME)
-       mkdir -p $(CASES_DIR)/$(PORT)/$(TESTS_NAME)
        mkdir -p `dirname $@`
-       python $(GENERATE_CASES) $< $(CASES_DIR)/$(PORT) > /dev/null
-       cp $(CASES_DIR)/$(PORT)/$(TESTS_NAME)/*.c `dirname $@`
+       python $(GENERATE_CASES) $< `dirname $@` > /dev/null
        touch $@
 
 # Rule linking the combined results log to all of the files in the
index 18b55e9e28affd51a002b43002b7a36dcf6cf704..55839e9130f38c7b762d76755ded34c5e6ff1352 100644 (file)
@@ -171,7 +171,7 @@ class InstanceGenerator:
         createdir(outdir)
 
         # Generate
-        self.permute(os.path.join(outdir, self.basename), self.replacements.keys())
+        self.permute(os.path.join(outdir, os.path.basename(self.basename)), self.replacements.keys())
 
         # Remove the temporary file
         os.remove(self.tmpname)