bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification for test-end says: > Additionally, if the matching test-begin installed a new test-runner, then the > test-end will uninstall it, after reporting the accumulated test results in an > implementation-de

bug#72381: srfi-64: test-result-remove fails to remove property

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. When I try to remove a property from the result alist using this code: (use-modules (srfi srfi-64)) (let ((r (test-runner-null))) (test-result-set! r 'arstars 'a) (test-result-remove r 'arstars)) I

bug#72373: srfi-64: test-assert evaluates test-name multiple times

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-assert: > Though the test-name is a string literal in the examples, it is an > expression. It is evaluated only once. However the test-name is evaluated multiple

bug#72376: srfi-64: test-equal evaluates test-name multiple times

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says that test-equal is equivalent to: > (test-assert [test-name] (equal? expected test-expr)) Hence the test-assert's requirement to evaluate test-name only once applies. However the test-name is e

bug#72370: srfi-64: test-apply requires at least one specifier

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-apply: > If one or more specifiers are listed then only tests matching the specifiers > are executed. That implies that specifiers are optional and the following

bug#72374: srfi-64: test-apply does not accept convenience specifiers

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-apply: > If one or more specifiers are listed then only tests matching the specifiers > are executed. The specifiers are defined in `Test specifiers' section: >

bug#72378: srfi-64: top-level test-group does not work

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The test-group is defined as equivalent to: (if (not (test-to-skip% suite-name)) (dynamic-wind (lambda () (test-begin suite-name)) (lambda () decl-or-expr ...) (lambda () (test-end sui

bug#72377: srfi-64: test-eq evaluates test-name multiple times

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says that test-eq is equivalent to: > (test-assert [test-name] (eq? expected test-expr)) Hence the test-assert's requirement to evaluate test-name only once applies. However the test-name is evaluat

bug#72369: srfi-64: test-end fails to signal an error with null runner

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following about the test-end: > An error is reported if the suite-name does not match the current test group > name. Thus the following should signal an error: (use-modules (srfi srfi-6

bug#72371: srfi-64: test marked for skip and as expected failure has wrong result-kind in on-test-begin-function

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-result-kind: > If we've started on a new test, but don't have a result yet, then the result > kind is 'xfail if the test is expected to fail, 'skip if the test is

bug#72367: srfi-64: nested group not counted as one test

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following about the count argument to the test-begin form: > The optional count must match the number of test-cases executed by this > group. (Nested test groups count as a single test case f

bug#72382: srfi-64: test-with-runner requires some decl-or-expr

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. test-with-runner has following signature: (test-with-runner runner decl-or-expr ...) That, according to syntax-case rules (and how test-apply works with the same definition) should mean that it accepts 0 or more d

bug#72375: srfi-64: test-eqv evaluates test-name multiple times

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says that test-eqv is equivalent to: > (test-assert [test-name] (eqv? expected test-expr)) Hence the test-assert's requirement to evaluate test-name only once applies. However the test-name is evalu

bug#72383: srfi-64: test-runner-reset clobbers the run list

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. Test runner is specified as: > A test-runner is an object that runs a test-suite, and manages the state. The > test group path, and the sets skip and expected-fail specifiers are part of > the test-runner. A test-runne

bug#72372: srfi-64: test-approximate evaluates test-name multiple times

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-approximate: > This is equivalent to (except that each argument is only evaluated once): > > > (test-assert [test-name] > (and (>= test-expr (- expected error))

bug#72366: srfi-64: on-bad-end-name-function has swapped arguments

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification describes the on-bad-end-name-function like this: (on-bad-end-name-function runner begin-name end-name) Thus the following should print `x': (use-modules (srfi srfi-64)) (let ((r (test-r

bug#72379: srfi-64: test-approximate does not handle exceptions

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says that: > The test also fails if an exception is raised, assuming the implementation has > a way to catch exceptions. Guile has a way to catch exceptions. However nevertheless the following does

bug#72368: srfi-64: test-begin does not set test-runner-test-name

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following regarding the test-runner-test-name: > Returns the name of the current test or test group, as a string. During > execution of test-begin this is the name of the test group [..] Thu

bug#72365: srfi-64: test-on-bad-end-name-simple is not allowed to raise an exception

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. The specification says the following about the simple test runner: > Creates a new simple test-runner, that prints errors and a summary on the > standard output port. It does not mention that it can signal errors, so

bug#72384: srfi-64: test-end should not clear fail list

2024-07-30 Thread Tomas Volf
Hello, I think I found a bug in (srfi srfi-64) module shipped with GNU Guile. Reading the specification for test-expect-fail I do not see a mandate to clear expect-fail list on test-end. test-skip does have such provision, but it is lacking in the test-expect-fail. Therefore I think current beh