make check should have warnings enabled and optimizer on

This commit is contained in:
leitner
2023-09-07 20:55:47 +00:00
parent 6a2adea2ad
commit 5c53f827d3
7 changed files with 16 additions and 7 deletions

View File

@@ -229,7 +229,7 @@ WITH_UNITTEST = $(shell grep -l UNITTEST *.c)
UNITTEST_BIN = $(patsubst %.c, test/%, $(WITH_UNITTEST))
test/%: %.c
gcc --coverage -DUNITTEST -o $@ $^ -I.
$(CC) $(CFLAGS) --coverage -DUNITTEST -o $@ $^ -I. $(LDFLAGS)
$@
check: $(UNITTEST_BIN)

View File

@@ -28,7 +28,8 @@ size_t scan_asn1BOOLEAN(const char* src,const char* max,int* val) {
int main() {
char buf[100];
int l;
int l=0;
memset(buf,0,sizeof buf);
strcpy(buf,"\x01\x01\x00"); // 0x01 = UNIVERSAL + CONSTRUCTED + BOOLEAN, 0x01 = length 1, 0x00 = false
assert(scan_asn1BOOLEAN(buf,buf+3,&l)==3 && l==0);
assert(scan_asn1BOOLEAN(buf,buf+2,&l)==0); // not enough input

View File

@@ -24,7 +24,8 @@ size_t scan_asn1INTEGER(const char* src,const char* max,signed long* val) {
int main() {
char buf[100];
unsigned long l;
long l=0;
memset(buf,0,sizeof buf);
strcpy(buf,"\x02\x01\x17"); // 0x02 = UNIVERSAL + CONSTRUCTED + INTEGER, 0x01 = length 1, 0x17 = value
assert(scan_asn1INTEGER(buf,buf+3,&l)==3 && l==23);
assert(scan_asn1INTEGER(buf,buf+2,&l)==0); // not enough input
@@ -44,7 +45,7 @@ int main() {
strcpy(buf,"\x02\x08\x7f\xff\xff\xff\xff\xff\xff\xff"); // LONG_MAX
assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==0x7ffffffffffffffful);
memcpy(buf,"\x02\x08\x80\x00\x00\x00\x00\x00\x00\x00",10); // LONG_MIN
assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==-0x8000000000000000ul);
assert(scan_asn1INTEGER(buf,buf+10,&l)==10 && l==(long)0x8000000000000000);
strcpy(buf,"\x02\x08\xff\xff\xff\xff\xff\xff\xff\xff");
assert(scan_asn1INTEGER(buf,buf+10,&l)==0); // non-minimal encoding of -1
}

View File

@@ -73,10 +73,13 @@ size_t wrapper(const char* src,const char* max,size_t* value) {
#define scan_asn1length wrapper
#endif
const size_t buflen = 0x9000;
int main() {
char* buf = malloc(0x9000);
unsigned long l;
char* buf = malloc(buflen);
unsigned long l=0;
assert(buf);
memset(buf,0,buflen);
/* empty input */
assert(scan_asn1length(buf,buf,&l)==0);
/* regular 1-byte encoding */

View File

@@ -68,7 +68,8 @@ size_t wrapper(const char* src,const char* max,size_t len,long* l) {
int main() {
char buf[10];
long l;
long l=0;
memset(buf,0,sizeof buf);
assert(scan_asn1rawint(buf, buf, 0, &l) == 0); // no input
assert(scan_asn1rawint(buf, buf+10, 0, &l) == 0); // no input
strcpy(buf,"\x01");

View File

@@ -62,6 +62,8 @@ int main() {
unsigned long tag;
char buf[15];
memset(buf,0,sizeof buf);
assert(scan_asn1tag(buf,buf,&tc,&tt,&tag)==0); // empty input
strcpy(buf,"\x01"); assert(scan_asn1tag(buf,buf+1,&tc,&tt,&tag)==1 && tc==UNIVERSAL && tt==PRIMITIVE && tag==BOOLEAN);
/* incomplete input */

View File

@@ -54,6 +54,7 @@ size_t wrapper(const char* src,const char* max,unsigned long* val) {
int main() {
char buf[10];
unsigned long l;
memset(buf,0,sizeof buf); l=0;
assert(scan_asn1tagint(buf,buf,&l)==0); // empty input
strcpy(buf,"\x80\x01");
assert(scan_asn1tagint(buf,buf+2,&l)==0); // non-minimal encoding