make check should have warnings enabled and optimizer on
This commit is contained in:
2
Makefile
2
Makefile
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user