From 7ce1c93d0fa1613ea163712c20c7730f190d49c6 Mon Sep 17 00:00:00 2001 From: leitner Date: Fri, 30 Oct 2020 14:50:42 +0000 Subject: [PATCH] add "make check" target and make it work :) --- GNUmakefile | 7 ++++++- scan/scan_8longn.c | 16 ++++++++-------- textcode/fmt_jsonescape.c | 7 +++++++ textcode/scan_cescape.c | 1 + textcode/scan_ldapescape.c | 1 + 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 19f7871..85491b4 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -381,7 +381,7 @@ windoze: $(MAKE) DIET= CROSS=i686-mingw32- windoze64: - $(MAKE) DIET= CROSS=x86_64-mingw32- + $(MAKE) DIET= CROSS=x86_64-w64-mingw32- update: dl -n http://www.w3.org/TR/html5/entities.json @@ -398,3 +398,8 @@ sa1: sa2: $(MAKE) clean $(MAKE) DIET= CC="gcc -fanalyzer" -j8 + +UNITTESTS=$(shell grep -l UNITTEST */*.c) + +check: haveuint128.h haveinline.h entities.h + for i in $(UNITTESTS); do $(DIET) $(CCC) -g -o t -DUNITTEST $$i -I. $(LDFLAGS) && ./t || echo FAIL $$i ; done diff --git a/scan/scan_8longn.c b/scan/scan_8longn.c index 3bd2551..c7f6be0 100644 --- a/scan/scan_8longn.c +++ b/scan/scan_8longn.c @@ -26,17 +26,17 @@ size_t scan_8longn(const char *src,size_t n,unsigned long *dest) { int main() { unsigned long i; - assert(scan_8longn("1234",100,&i)==4 && i==01234); - assert(scan_8longn("12345678",100,&i)==7 && i==01234567); + assert(scan_8longn("1234\0""67890",10,&i)==4 && i==01234); + assert(scan_8longn("12345678",9,&i)==7 && i==01234567); if (sizeof(long)==sizeof(int)) { - assert(scan_8longn("37777777777",100,&i)==11 && i==0xffffffff); - assert(scan_8longn("40000000000",100,&i)==10 && i==04000000000); + assert(scan_8longn("37777777777",12,&i)==11 && i==0xffffffff); + assert(scan_8longn("40000000000",12,&i)==10 && i==04000000000); } else if (sizeof(long)==sizeof(long long)) { - assert(scan_8longn("1777777777777777777777",100,&i)==22 && i==0xffffffffffffffffull); - assert(scan_8longn("2000000000000000000000",100,&i)==21 && i==0200000000000000000000ull); + assert(scan_8longn("1777777777777777777777",23,&i)==22 && i==0xffffffffffffffffull); + assert(scan_8longn("2000000000000000000000",23,&i)==21 && i==0200000000000000000000ull); } - assert(scan_8longn("-4",100,&i)==0 && i==0); - assert(scan_8longn("01234",100,&i)==5 && i==01234); + assert(scan_8longn("-4",3,&i)==0 && i==0); + assert(scan_8longn("01234",6,&i)==5 && i==01234); assert(scan_8longn("1234",2,&i)==2 && i==012); return 0; } diff --git a/textcode/fmt_jsonescape.c b/textcode/fmt_jsonescape.c index 9b4f808..b321fc0 100644 --- a/textcode/fmt_jsonescape.c +++ b/textcode/fmt_jsonescape.c @@ -93,6 +93,13 @@ noneed: #include #include +#undef UNITTEST +#include "fmt/fmt_tohex.c" +#include "case/case_diffb.c" +#include "fmt/fmt_utf8.c" +#include "scan/scan_utf8_sem.c" +#include "scan/scan_utf8.c" + int main() { char buf[100]; /* test utf-8 pass-through and correct encoding of \t */ diff --git a/textcode/scan_cescape.c b/textcode/scan_cescape.c index 00afb90..641516a 100644 --- a/textcode/scan_cescape.c +++ b/textcode/scan_cescape.c @@ -77,6 +77,7 @@ error: #ifdef UNITTEST #include +#include #undef UNITTEST #include #include diff --git a/textcode/scan_ldapescape.c b/textcode/scan_ldapescape.c index fed16dd..0e98c45 100644 --- a/textcode/scan_ldapescape.c +++ b/textcode/scan_ldapescape.c @@ -26,6 +26,7 @@ size_t scan_ldapescape(const char *src,char *dest,size_t *destlen) { #ifdef UNITTEST #include +#include #undef UNITTEST #include