# _,.---._ .-._ .--.-. ,--.--------. # _,..---._ ,-.' , - `. /==/ \ .-._/==/ //==/, - , -\ # /==/, - \ /==/_, , - \|==|, \/ /, |==\ -\\==\.-. - ,-./ # |==| _ _\==| .=. |==|- \| | \==\- \`--`\==\- \ # |==| .=. |==|_ : ;=: - |==| , | -| `--`-' \==\_ \ # |==|,| | -|==| , '=' |==| - _ | |==|- | # |==| '=' /\==\ - ,_ /|==| /\ , | |==|, | # |==|-, _`/ '.='. - .' /==/, | |- | /==/ -/ # `-.`.____.' `--`--'' `--`./ `--` `--`--` # _ __ ,---. .-._ .=-.-. _,.----. # .-`.' ,`..--.' \ /==/ \ .-._ /==/_ /.' .' - \ # /==/, - \==\-/\ \ |==|, \/ /, /==|, |/==/ , ,-' # |==| _ .=. /==/-|_\ | |==|- \| ||==| ||==|- | . # |==| , '=',\==\, - \ |==| , | -||==|- ||==|_ `-' \ # |==|- '..'/==/ - ,| |==| - _ ||==| ,||==| _ , | # |==|, | /==/- /\ - \|==| /\ , ||==|- |\==\. / # /==/ - | \==\ _.\=\.-'/==/, | |- |/==/. / `-.`.___.-' # `--`---' `--` `--`./ `--``--`-` # # @(#)Copyright (c) 2023, Nathan D. Fisher. # # This is free software. It comes with NO WARRANTY. # Permission to use, modify and distribute this source code # is granted subject to the following conditions. # 1/ that the above copyright notice and this notice # are preserved in all copies and that due credit be given # to the author. # 2/ that any changes to this code are clearly commented # as such so that the author does not get blamed for bugs # other than his own. # include ../config.mk CFLAGS += -I../include LDLIBS += ../libhaggis.a LDLIBS += $(LIBS) tests += store_u16 tests += load_u16 tests += store_u32 tests += load_u32 tests += store_u64 tests += load_u64 tests += store_header tests += check_header tests += store_device tests += load_device tests += store_md5 tests += load_md5 tests += store_sha1 tests += load_sha1 tests += store_sha256 tests += load_sha256 tests += init_file_md5 tests += init_file_sha1 tests += init_file_sha256 tests += store_file_md5 tests += load_file_md5 tests += store_file_sha1 tests += load_file_sha1 tests += store_file_sha256 tests += load_file_sha256 tests += fnv1a_hash_inode tests += fnv1a_hash_str tests += linkmap_init tests += linkmap_put tests += create_dir_node tests += create_symlink_node tests += create_fifo_node tests += create_dev_node tests += create_file_node total != echo $(tests) | wc -w | awk '{ print $$1 }' .PHONY: test test: $(tests) output @echo -e "\n\t=== \e[0;33mRunning $(total) tests\e[0m ===\n" @idx=1 ; success=0 ; fail=0; for t in $(tests) ; \ do printf "[%02i/$(total)] %-25s" $${idx} $${t} ; \ idx=$$(expr $${idx} + 1) ; \ ./$${t} ; \ if [ $$? -eq 0 ] ; \ then echo -e '\e[0;32mSuccess\e[0m' ; \ success=$$(expr $${success} + 1) ; \ else echo -e '\e[0;31mFailure\e[0m' ; \ fail=$$(expr $${fail} + 1) ; \ fi ; done || true ; \ if [ $${fail} == 0 ] ; \ then echo -e '\nResults: \e[0;32mOk\e[0m.' "$${success} succeeded; $${fail} failed" ; \ else echo -e '\nResults: \e[0;31mFAILED\e[0m.' "$${success} succeeded; $${fail} failed\n" ; \ fi output: @ [-d $@ ] 2>/dev/null || install -d $@ .PHONY: clean clean: rm -rf $(tests) output/*