]> git.sur5r.net Git - cc65/commitdiff
use own naive bdiff tool instead of diff/fc
authormrdudz <mrdudz@users.noreply.github.com>
Mon, 24 Nov 2014 19:57:58 +0000 (20:57 +0100)
committermrdudz <mrdudz@users.noreply.github.com>
Mon, 24 Nov 2014 19:57:58 +0000 (20:57 +0100)
test/Makefile
test/bdiff.c [new file with mode: 0644]
test/misc/Makefile
test/ref/Makefile

index d71d5fda4279e2d1b4bfd962c05eedf55ff275f6..f5f10c029220052c7ae599f1ad1f01b2607aa043 100644 (file)
@@ -3,9 +3,26 @@
 
 MAKE := make --no-print-dir
 
-.PHONY: all clean
+ifneq ($(shell echo),)
+  CMD_EXE = 1
+endif
 
-all:
+ifdef CMD_EXE
+RM := del /f
+EXE := .exe
+else
+RM := rm -f
+EXE :=
+endif
+
+.PHONY: dotests clean
+
+all: dotests
+
+bdiff:
+       @$(CC) -o bdiff$(EXE) bdiff.c
+
+dotests: bdiff
        @$(MAKE) -C val clean all
        @$(MAKE) -C ref clean all
        @$(MAKE) -C err clean all
@@ -16,4 +33,4 @@ clean:
        @$(MAKE) -C ref clean
        @$(MAKE) -C err clean
        @$(MAKE) -C misc clean
-
+       @$(RM) bdiff$(EXE)
diff --git a/test/bdiff.c b/test/bdiff.c
new file mode 100644 (file)
index 0000000..797ba43
--- /dev/null
@@ -0,0 +1,28 @@
+
+// minimal tool to compare two binaries
+
+#include <stdlib.h>
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+    FILE *f1, *f2;
+    if (argc < 3) {
+        return EXIT_FAILURE;
+    }
+    f1 = fopen(argv[1], "rb");
+    f2 = fopen(argv[2], "rb");
+    if ((f1 == NULL) || (f2 == NULL)) {
+        return EXIT_FAILURE;
+    }
+    for(;;) {
+        if (feof(f1) && feof(f2)) {
+            return EXIT_SUCCESS;
+        } else if (feof(f1) || feof(f2)) {
+            return EXIT_FAILURE;
+        }
+        if (fgetc(f1) != fgetc(f2)) {
+            return EXIT_FAILURE;
+        }
+    }
+}
index b9e4637d0da518bcf08a9168dd131b22453d9936..e3d60269d144076813806e988bcd5c34ff175d61 100644 (file)
@@ -13,12 +13,12 @@ SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65)
 
 ifdef CMD_EXE
 RM := del /f
-DIFF := fc
 else
 RM := rm -f
-DIFF := diff -q
 endif
 
+DIFF := ./../bdiff
+
 .PHONY: all clean
 
 TESTS := $(patsubst %.c,%.prg,$(wildcard *.c))
index b3b555aefa117461d6fad87e160de53fb478eddc..ccb52c3ba8ee55a2f3b399d4a7f492ffab08049b 100644 (file)
@@ -14,12 +14,12 @@ SIM65 := $(if $(wildcard ../../bin/sim65*),../../bin/sim65,sim65)
 
 ifdef CMD_EXE
 RM := del /f
-DIFF := fc
 else
 RM := rm -f
-DIFF := diff -q
 endif
 
+DIFF := ./../bdiff
+
 CFLAGS := -O2 -Wall -W -Wextra -fwrapv -fno-strict-overflow
 
 .PHONY: all clean