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
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 \
ansi.import.scm command-line.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 \
util-time.import.scm util-tag.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 \
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 \
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-list.o util-parser.o texts.o
util-list.o util-parser.o texts.o tests.o
.PHONY: imports
imports: $(HACKERBASE-DEPS)
@ -300,3 +301,13 @@ TEXTS-SOURCES=texts.scm
texts.o: texts.import.scm
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
util-set-list
util-parser
texts)
texts
tests)
;; Print banner
(print "HackerBase 0.9.4 (c) 2023 Brmlab, z.s.")
@ -178,20 +179,7 @@
;; Run tests
(when (-run-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!)
(run-all-tests!)
(newline))
;; 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!))
)