@@ -112,11 +112,11 @@ PVS_IGNORE = 'V707,V011,V002,V536,V795'
112112PVS_LOG_OPTS = -a 'GA:1,2' -e -t errorfile -d $(PVS_IGNORE )
113113
114114# Regression tests
115- TEST_PROGS = conf_test digest_test getgids getgrouplist_test hexchar_test \
116- hltq_test json_test multiarch_test open_parent_dir_test \
117- parse_gids_test parseln_test progname_test regex_test \
118- strsplit_test strtobool_test strtoid_test strtomode_test \
119- strtonum_test uuid_test @COMPAT_TEST_PROGS@
115+ TEST_PROGS = base64_test conf_test digest_test getgids getgrouplist_test \
116+ hexchar_test hltq_test json_test multiarch_test \
117+ open_parent_dir_test parse_gids_test parseln_test progname_test \
118+ regex_test strsplit_test strtobool_test strtoid_test \
119+ strtomode_test strtonum_test uuid_test @COMPAT_TEST_PROGS@
120120
121121TEST_LIBS = @LIBS@
122122TEST_LDFLAGS = @LDFLAGS@
@@ -145,19 +145,21 @@ DEVEL = @DEVEL@
145145
146146SHELL = @SHELL@
147147
148- LTOBJS = basename.lo @DIGEST@ event.lo fatal.lo key_val.lo gethostname .lo \
149- gettime .lo getgrouplist .lo gidlist .lo hexchar .lo json.lo lbuf .lo \
150- locking .lo logfac .lo login_max .lo logpri .lo mkdir_parents .lo \
151- mmap_alloc .lo multiarch .lo parseln .lo progname .lo rcstr.lo regex .lo \
152- roundup .lo secure_path .lo setgroups .lo strsplit .lo strtobool .lo \
153- strtoid .lo strtomode .lo strtonum .lo sudo_conf .lo sudo_debug .lo \
154- sudo_dso .lo term .lo ttyname_dev .lo ttysize .lo uuid .lo \
155- @COMMON_OBJS@ @LTLIBOBJS@
148+ LTOBJS = b64_decode.lo b64_encode.lo basename.lo @DIGEST@ event.lo fatal.lo \
149+ key_val .lo gethostname .lo gettime .lo getgrouplist .lo gidlist .lo \
150+ hexchar .lo json .lo lbuf .lo locking .lo logfac.lo login_max .lo \
151+ logpri .lo mkdir_parents .lo mmap_alloc .lo multiarch .lo parseln .lo \
152+ progname .lo rcstr .lo regex .lo roundup .lo secure_path.lo setgroups .lo \
153+ strsplit .lo strtobool .lo strtoid .lo strtomode .lo strtonum .lo \
154+ sudo_conf .lo sudo_debug .lo sudo_dso .lo term .lo ttyname_dev .lo \
155+ ttysize.lo uuid.lo @COMMON_OBJS@ @LTLIBOBJS@
156156
157157IOBJS = $(LTOBJS:.lo=.i )
158158
159159POBJS = $(IOBJS:.i=.plog )
160160
161+ BASE64_TEST_OBJS = base64_test.lo b64_decode.lo b64_encode.lo
162+
161163MKTEMP_TEST_OBJS = mktemp_test.lo mktemp.lo
162164
163165PARSELN_TEST_OBJS = parseln_test.lo parseln.lo
@@ -284,6 +286,9 @@ mksiglist.h: sys_siglist.i
284286mksigname.h : sys_signame.i
285287 $(SED ) -e ' 1,/^int sudo_end_of_headers;/d' -e ' /^#/d' < sys_signame.i > mksigname.h
286288
289+ base64_test : $(BASE64_TEST_OBJS ) libsudo_util.la
290+ $(LIBTOOL ) $(LTFLAGS ) --mode=link $(CC ) -o $@ $(BASE64_TEST_OBJS ) libsudo_util.la $(ASAN_LDFLAGS ) $(PIE_LDFLAGS ) $(HARDENING_LDFLAGS ) $(TEST_LDFLAGS ) $(TEST_LIBS )
291+
287292closefrom_test : $(CLOSEFROM_TEST_OBJS ) libsudo_util.la
288293 $(LIBTOOL ) $(LTFLAGS ) --mode=link $(CC ) -o $@ $(CLOSEFROM_TEST_OBJS ) libsudo_util.la $(ASAN_LDFLAGS ) $(PIE_LDFLAGS ) $(HARDENING_LDFLAGS ) $(TEST_LDFLAGS ) $(TEST_LIBS )
289294
@@ -458,6 +463,7 @@ check: $(TEST_PROGS) check-fuzzer
458463 MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
459464 MALLOC_CONF=" abort:true,junk:true" ; export MALLOC_CONF; \
460465 rval=0; \
466+ ./base64_test $(TEST_VERBOSE ) || rval=` expr $$ rval + $$ ? ` ; \
461467 if test -f closefrom_test; then \
462468 ./closefrom_test $(TEST_VERBOSE ) || rval=` expr $$ rval + $$ ? ` ; \
463469 fi ; \
@@ -574,6 +580,40 @@ arc4random_uniform.i: $(srcdir)/arc4random_uniform.c $(incdir)/sudo_compat.h \
574580 $(CPP) $(CPPFLAGS) $(srcdir)/arc4random_uniform.c > $@
575581arc4random_uniform.plog : arc4random_uniform.i
576582 rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --source-file $(srcdir ) /arc4random_uniform.c --i-file arc4random_uniform.i --output-file $@
583+ b64_decode.lo : $(srcdir ) /b64_decode.c $(incdir ) /compat/stdbool.h \
584+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
585+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
586+ $(top_builddir)/config.h
587+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_decode.c
588+ b64_decode.i : $(srcdir ) /b64_decode.c $(incdir ) /compat/stdbool.h \
589+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
590+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
591+ $(top_builddir)/config.h
592+ $(CPP) $(CPPFLAGS) $(srcdir)/b64_decode.c > $@
593+ b64_decode.plog : b64_decode.i
594+ rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --source-file $(srcdir ) /b64_decode.c --i-file b64_decode.i --output-file $@
595+ b64_encode.lo : $(srcdir ) /b64_encode.c $(incdir ) /compat/stdbool.h \
596+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
597+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
598+ $(top_builddir)/config.h
599+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_encode.c
600+ b64_encode.i : $(srcdir ) /b64_encode.c $(incdir ) /compat/stdbool.h \
601+ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
602+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
603+ $(top_builddir)/config.h
604+ $(CPP) $(CPPFLAGS) $(srcdir)/b64_encode.c > $@
605+ b64_encode.plog : b64_encode.i
606+ rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --source-file $(srcdir ) /b64_encode.c --i-file b64_encode.i --output-file $@
607+ base64_test.lo : $(srcdir ) /regress/base64/base64_test.c \
608+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
609+ $(incdir)/sudo_util.h $(top_builddir)/config.h
610+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/base64/base64_test.c
611+ base64_test.i : $(srcdir ) /regress/base64/base64_test.c \
612+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
613+ $(incdir)/sudo_util.h $(top_builddir)/config.h
614+ $(CPP) $(CPPFLAGS) $(srcdir)/regress/base64/base64_test.c > $@
615+ base64_test.plog : base64_test.i
616+ rm -f $@ ; pvs-studio --cfg $(PVS_CFG ) --source-file $(srcdir ) /regress/base64/base64_test.c --i-file base64_test.i --output-file $@
577617basename.lo : $(srcdir ) /basename.c $(incdir ) /compat/stdbool.h \
578618 $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
579619 $(top_builddir)/config.h
0 commit comments