Split out tests into separate module.

This commit is contained in:
Dominik Pantůček 2023-04-09 18:09:31 +02:00
parent 1aaf5e477a
commit d9f8863c3e
3 changed files with 83 additions and 18 deletions

View file

@ -31,7 +31,7 @@ static: ../hackerbase
CSC=csc CSC=csc
HACKERBASE-DEPS=hackerbase.scm testing.import.scm listing.import.scm \ HACKERBASE-DEPS=hackerbase.scm testing.import.scm listing.import.scm \
dictionary.import.scm month.import.scm period.import.scm \ dictionary.import.scm month.import.scm period.import.scm \
ansi.import.scm command-line.import.scm \ ansi.import.scm command-line.import.scm \
members-base.import.scm primes.import.scm \ members-base.import.scm primes.import.scm \
@ -45,7 +45,8 @@ HACKERBASE-DEPS=hackerbase.scm testing.import.scm listing.import.scm \
mailman.import.scm util-set-list.import.scm \ mailman.import.scm util-set-list.import.scm \
util-time.import.scm util-tag.import.scm util-io.import.scm \ util-time.import.scm util-tag.import.scm util-io.import.scm \
util-string.import.scm util-io.import.scm \ util-string.import.scm util-io.import.scm \
util-list.import.scm util-parser.import.scm texts.import.scm util-list.import.scm util-parser.import.scm texts.import.scm \
tests.import.scm
HACKERBASE-OBJS=hackerbase.o testing.o listing.o month.o period.o ansi.o \ HACKERBASE-OBJS=hackerbase.o testing.o listing.o month.o period.o ansi.o \
dictionary.o command-line.o members-base.o primes.o \ dictionary.o command-line.o members-base.o primes.o \
@ -54,7 +55,7 @@ HACKERBASE-OBJS=hackerbase.o testing.o listing.o month.o period.o ansi.o \
bank-account.o bank-fio.o members-payments.o member-parser.o \ bank-account.o bank-fio.o members-payments.o member-parser.o \
web-static.o environment.o mailman.o util-set-list.o \ web-static.o environment.o mailman.o util-set-list.o \
util-time.o util-tag.o util-io.o util-string.o util-io.o \ util-time.o util-tag.o util-io.o util-string.o util-io.o \
util-list.o util-parser.o texts.o util-list.o util-parser.o texts.o tests.o
.PHONY: imports .PHONY: imports
imports: $(HACKERBASE-DEPS) imports: $(HACKERBASE-DEPS)
@ -300,3 +301,13 @@ TEXTS-SOURCES=texts.scm
texts.o: texts.import.scm texts.o: texts.import.scm
texts.import.scm: $(TEXTS-SOURCES) texts.import.scm: $(TEXTS-SOURCES)
TESTS-SOURCES=tests.scm listing.import.scm dictionary.import.scm \
month.import.scm period.import.scm util-list.import.scm \
ansi.import.scm command-line.import.scm \
members-dir.import.scm primes.import.scm \
member-record.import.scm table.import.scm util-csv.import.scm \
util-set-list.import.scm util-parser.import.scm
tests.o: tests.import.scm
tests.import.scm: $(TESTS-SOURCES)

View file

@ -50,7 +50,8 @@
mailman mailman
util-set-list util-set-list
util-parser util-parser
texts) texts
tests)
;; Print banner ;; Print banner
(print "HackerBase 0.9.4 (c) 2023 Brmlab, z.s.") (print "HackerBase 0.9.4 (c) 2023 Brmlab, z.s.")
@ -178,20 +179,7 @@
;; Run tests ;; Run tests
(when (-run-tests?-) (when (-run-tests?-)
(listing-tests!) (run-all-tests!)
(dictionary-tests!)
(month-tests!)
(period-tests!)
(util-list-tests!)
(ansi-tests!)
(command-line-tests!)
(members-dir-tests!)
(primes-tests!)
(member-record-tests!)
(table-tests!)
(csv-simple-tests!)
(lset-tests!)
(parser-tests!)
(newline)) (newline))
;; Load the members database (required for everything anyway) ;; Load the members database (required for everything anyway)

66
src/tests.scm Normal file
View file

@ -0,0 +1,66 @@
;;
;; tests.scm
;;
;; Runner of all tests together.
;;
;; ISC License
;;
;; Copyright 2023 Brmlab, z.s.
;; Dominik Pantůček <dominik.pantucek@trustica.cz>
;;
;; Permission to use, copy, modify, and/or distribute this software
;; for any purpose with or without fee is hereby granted, provided
;; that the above copyright notice and this permission notice appear
;; in all copies.
;;
;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
;; OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
;; NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
;; CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
;;
(declare (unit tests))
(module
tests
(
run-all-tests!
)
(import scheme
listing
dictionary
month
period
util-list
ansi
command-line
members-dir
primes
member-record
table
util-csv
util-set-list
util-parser)
(define (run-all-tests!)
(listing-tests!)
(dictionary-tests!)
(month-tests!)
(period-tests!)
(util-list-tests!)
(ansi-tests!)
(command-line-tests!)
(members-dir-tests!)
(primes-tests!)
(member-record-tests!)
(table-tests!)
(csv-simple-tests!)
(lset-tests!)
(parser-tests!))
)