diff --git a/Makefile b/Makefile index d097ee92e3518b04a16eaedbd6d89b17192f8018..b3d32178485f822812495c1344d406e34ebb5dab 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,15 @@ .PHONY: all install check clean # Tests are run in the order noted here -tests = state.scm \ - bv.scm \ - label.scm \ - enum.scm \ - reverse.scm \ - object.scm \ - types-round-trip.scm \ - header.scm \ - rr.scm \ +tests = state \ + bv \ + label \ + enum \ + reverse \ + object \ + types-round-trip \ + header \ + rr \ sources = dns.scm \ $(shell find dns -type f -name \*.scm) @@ -25,8 +25,7 @@ GUILE_VERSION = $(shell guile -c '(display (effective-version))') BUILD_ENV = GUILE_AUTO_COMPILE=0 TEST_ENV = GUILE_AUTO_COMPILE=0 \ - GUILE_LOAD_PATH=$(CURDIR) \ - GUILE_LOAD_COMPILED_PATH=$(CURDIR)/obj + GUILE_LOAD_PATH=$(CURDIR) TEST_FLAGS = $(if $(VERBOSE),--verbose) $(if $(COVERAGE),--coverage=coverage.info) PREFIX = /usr @@ -50,7 +49,7 @@ install: all done check: all - env $(TEST_ENV) $(GUILE) -e main -s run-tests.scm $(TEST_FLAGS) $(tests) + env $(TEST_ENV) $(GUILE) --debug -e main -s run-tests.scm $(TEST_FLAGS) $(tests) coverage/index.html: coverage.info genhtml --output-directory coverage $< diff --git a/dns/internal/object.scm b/dns/internal/object.scm index 6b86d91f6938c0e236988519f5f3843752b41029..6fe8a8c597b12ebfb5408e48e5cb31c35d0db53b 100644 --- a/dns/internal/object.scm +++ b/dns/internal/object.scm @@ -1,6 +1,10 @@ ;;; Commentary: ;;; Another definition of define-record-type. ;;; Aims to be syntastically compatible with (rnrs records syntastic), +;;; TODO is this still the case? with the #:type keywords? +;;; +;;; TODO compare this with the object system in calp +;;; ;;; But instead declares the object as a GOOPS object, ;;; creates a constructor which takes keyword arguments, ;;; sets a propper write method, diff --git a/run-tests.scm b/run-tests.scm old mode 100644 new mode 100755 index 3e1aa5e54509f04ef12c1a27e43c1b12172a18ab..c8fbb3930eed938becf9cca4ac7773fd39bad5d2 --- a/run-tests.scm +++ b/run-tests.scm @@ -104,10 +104,7 @@ (define (run-test-file test-file) (format #t "Running test in ~a~%" test-file) - (load - (format #f "~a/tests/~a" - (dirname (current-filename)) - test-file))) +) (define option-spec '((verbose (single-char #\v) (value #f)) @@ -123,7 +120,14 @@ (cond ((option-ref options 'coverage #f) => (lambda (file) (let ((coverage _ (with-code-coverage - (lambda () (run-tests))))) + (lambda () + (for-each (lambda (test-file) + (load + (format #f "~a/tests/~a.scm" + (dirname (current-filename)) + test-file))) + tests) + )))) (call-with-output-file file (lambda (port) (coverage-data->lcov coverage port)))))) (else (run-tests))) diff --git a/sample-client.scm b/sample-client.scm index 8a4e20360671178465b5a146cf06c215d5aac145..6297e8da2367dfcc09a82d8f1e105b8bd9f7f7f1 100755 --- a/sample-client.scm +++ b/sample-client.scm @@ -25,6 +25,8 @@ (define (run sock msg) (define resp (make-bytevector 512)) ;; TODO pack bytevector here + ;; (send sock (eval-state (dns-message->bytes msg) + ;; (lambda () (values (make-bytevector 100) 0)))) (send sock (call-with-values (lambda () ((dns-message->bytes msg) (make-bytevector 100) 0)) (lambda (_ bv ptr) bv))) (recv! sock resp) diff --git a/tests/bv.scm b/tests/bv.scm index c27d3a9e17a4529ea403132b9a2ef98cdf5254d2..43869397a5e20fcc60b8081061c509300f581489 100644 --- a/tests/bv.scm +++ b/tests/bv.scm @@ -1,9 +1,10 @@ -(use-modules (srfi srfi-64) - (srfi srfi-1) - (rnrs bytevectors) - (rnrs io ports) - (dns internal bv) - (dns internal state-monad)) +(define-module (tests bv) + :use-module (srfi srfi-64) + :use-module (srfi srfi-1) + :use-module (rnrs bytevectors) + :use-module (rnrs io ports) + :use-module (dns internal bv) + :use-module (dns internal state-monad)) (test-begin "Bytevectors in state monad") diff --git a/tests/enum.scm b/tests/enum.scm index 67f56de60480e546c2d8824d6a3bd26d979eea2c..0be13a353677904d0b644883c24f53afa251839f 100644 --- a/tests/enum.scm +++ b/tests/enum.scm @@ -1,5 +1,6 @@ -(use-modules (srfi srfi-64) - (dns enum)) +(define-module (tests enum) + :use-module (srfi srfi-64) + :use-module (dns enum)) ;;; These tests claim to be testing rr->int, but is really testing make-mappings. ;;; Explicit data could be checked, but a test for that would just be duplicating the data diff --git a/tests/header.scm b/tests/header.scm index c86f296bfa3bcb0c90ef4c3b749da3cbd278cf07..3d976229e6cf6829f150510aa6e9d8211a73b8f6 100644 --- a/tests/header.scm +++ b/tests/header.scm @@ -1,6 +1,7 @@ -(use-modules (srfi srfi-64) - (srfi srfi-88) - (dns types header)) +(define-module (tests header) + :use-module (srfi srfi-64) + :use-module (srfi srfi-88) + :use-module (dns types header)) (test-begin "DNS message header") diff --git a/tests/label.scm b/tests/label.scm index 490b24995f1ccadfb1efbf5046c35d00490908d9..3490f1296cc122a06d102cd5177de94812086e61 100644 --- a/tests/label.scm +++ b/tests/label.scm @@ -1,6 +1,7 @@ -(use-modules (srfi srfi-64) - (rnrs io ports) - (dns label)) +(define-module (tests label) + :use-module (srfi srfi-64) + :use-module (rnrs io ports) + :use-module (dns label)) (define codec (make-transcoder (latin-1-codec))) diff --git a/tests/object.scm b/tests/object.scm index 8de271a23073f6b640ad02808468520454db56a3..025ff7d4ca776dc0e7cf298e32c015d31dd5b2ea 100644 --- a/tests/object.scm +++ b/tests/object.scm @@ -1,6 +1,7 @@ -(use-modules (srfi srfi-64) - (srfi srfi-88) - (dns internal object)) +(define-module (tests object) + :use-module (srfi srfi-64) + :use-module (srfi srfi-88) + :use-module (dns internal object)) (test-begin "Object system") diff --git a/tests/reverse.scm b/tests/reverse.scm index 52d4e188174c3637dba5e6a8a55ff4afdd262e32..1a841c4ba5993ab77363ed8766a2ac9f39a0c66d 100644 --- a/tests/reverse.scm +++ b/tests/reverse.scm @@ -1,5 +1,6 @@ -(use-modules (srfi srfi-64) - (dns reverse)) +(define-module (tests reverse) + :use-module (srfi srfi-64) + :use-module (dns reverse)) (test-begin "Reverse addresses") diff --git a/tests/rr.scm b/tests/rr.scm index 3a3391210b35bdfe3ffb4821b0559869d231254b..5a8474fea9976bd271dabfa7aafd28954a21bba0 100644 --- a/tests/rr.scm +++ b/tests/rr.scm @@ -1,7 +1,8 @@ -(use-modules (srfi srfi-64) - (rnrs bytevectors) - (rnrs io ports) - (dns types rr-data)) +(define-module (tests rr) + :use-module (srfi srfi-64) + :use-module (rnrs bytevectors) + :use-module (rnrs io ports) + :use-module (dns types rr-data)) (test-begin "DNS Resource Records") @@ -82,3 +83,5 @@ (test-end) + +(format (current-error-port) "Hello, World!" ) diff --git a/tests/state.scm b/tests/state.scm index 3e27d2901a3e5103154048bff2b2547a0efed32d..b0ee856a347817a284537b94eedf75f71a20b30d 100644 --- a/tests/state.scm +++ b/tests/state.scm @@ -1,5 +1,6 @@ -(use-modules (srfi srfi-64) - (dns internal state-monad)) +(define-module (tests state) + :use-module (srfi srfi-64) + :use-module (dns internal state-monad)) (test-begin "State Monad") diff --git a/tests/types-round-trip.scm b/tests/types-round-trip.scm index b262eb82075bbebb0a58821b55ce06469d4090e8..0c106ccccedcb5d7815f557d9ffa4e25652d0fa5 100644 --- a/tests/types-round-trip.scm +++ b/tests/types-round-trip.scm @@ -1,11 +1,12 @@ -(use-modules (srfi srfi-64) - (srfi srfi-71) - (srfi srfi-88) - (rnrs bytevectors) - (dns types header) - (dns types message) - (dns types question) - (dns types rr)) +(define-module (tests types-round-trip) + :use-module (srfi srfi-64) + :use-module (srfi srfi-71) + :use-module (srfi srfi-88) + :use-module (rnrs bytevectors) + :use-module (dns types header) + :use-module (dns types message) + :use-module (dns types question) + :use-module (dns types rr)) (test-begin "Encode-decode round trip for all types")