This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -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]
|
||||
Loading…
Add table
Add a link
Reference in a new issue