This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,125 @@
Here we check the validation of the timeout field of the cram stanza.
First we check the version guard.
$ cat > dune-project <<EOF
> (lang dune 3.19)
> EOF
$ cat > dune <<EOF
> (cram
> (timeout 1))
> EOF
$ dune build
File "dune", line 2, characters 1-12:
2 | (timeout 1))
^^^^^^^^^^^
Error: 'timeout' is only available since version 3.20 of the dune language.
Please update your dune-project file to have (lang dune 3.20).
[1]
Next we check some invalid values:
$ cat > dune-project <<EOF
> (lang dune 3.20)
> EOF
$ cat > test.t <<EOF
> $ echo hi
> EOF
Negative values fail immediately.
$ cat > dune <<EOF
> (cram
> (timeout -1.0))
> EOF
$ dune test test.t
File "dune", line 2, characters 10-14:
2 | (timeout -1.0))
^^^^
Error: Timeout value must be a non-negative float.
[1]
Checking some currently accepted float values:
$ test() {
> echo "(cram (timeout $1))" > dune
> dune build
> }
$ test -1
File "dune", line 1, characters 15-17:
1 | (cram (timeout -1))
^^
Error: Timeout value must be a non-negative float.
[1]
$ test Inf
$ test +Inf
$ test -Inf
File "dune", line 1, characters 15-19:
1 | (cram (timeout -Inf))
^^^^
Error: Timeout value must be a non-negative float.
[1]
$ test nan
File "dune", line 1, characters 15-18:
1 | (cram (timeout nan))
^^^
Error: Timeout value must be a non-negative float.
[1]
$ test .5
$ test 0.
$ test 1.
$ test 1.0e1
$ test 1e1
$ test 1e-1
$ test 1e+1
$ test 1e308
$ test 1e-324
Invalid values should be vetted correctly:
$ test
File "dune", line 1, characters 6-16:
1 | (cram (timeout ))
^^^^^^^^^^
Error: Not enough arguments for "timeout"
[1]
$ test foo
File "dune", line 1, characters 15-18:
1 | (cram (timeout foo))
^^^
Error: Float expected
[1]
$ test --1
File "dune", line 1, characters 15-18:
1 | (cram (timeout --1))
^^^
Error: Float expected
[1]
$ test 1..0
File "dune", line 1, characters 15-19:
1 | (cram (timeout 1..0))
^^^^
Error: Float expected
[1]
$ test 1e
File "dune", line 1, characters 15-17:
1 | (cram (timeout 1e))
^^
Error: Float expected
[1]
$ test 1.0.0
File "dune", line 1, characters 15-20:
1 | (cram (timeout 1.0.0))
^^^^^
Error: Float expected
[1]