From e9a76337b5709dfef8f5b40a7621095a8f44d71e Mon Sep 17 00:00:00 2001 From: bernhardheld Date: Sun, 4 May 2003 08:46:12 +0000 Subject: [PATCH] * support/regression/HTMLgen.py: added compare_s2f() * 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 | 6 ++++++ support/regression/HTMLgen.py | 20 ++++++++++++++++++++ support/regression/Makefile | 5 +---- support/regression/generate-cases.py | 2 +- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0250f43b..f9c4e35a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-05-04 Bernhard Held + + * 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 * support/regression/tests/float.c: workaround 33 bit hex constant diff --git a/support/regression/HTMLgen.py b/support/regression/HTMLgen.py index 055a2047..3f44e254 100644 --- a/support/regression/HTMLgen.py +++ b/support/regression/HTMLgen.py @@ -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() diff --git a/support/regression/Makefile b/support/regression/Makefile index a6301688..801d4681 100644 --- a/support/regression/Makefile +++ b/support/regression/Makefile @@ -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 diff --git a/support/regression/generate-cases.py b/support/regression/generate-cases.py index 18b55e9e..55839e91 100644 --- a/support/regression/generate-cases.py +++ b/support/regression/generate-cases.py @@ -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) -- 2.30.2