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,262 @@
Document how Dune displays various things
=========================================
$ echo '(lang dune 3.0)' > dune-project
$ export BUILD_PATH_PREFIX_MAP=SH=`command -v sh`
Errors with location embed in their output
------------------------------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (system "echo 'File \"foo\", line 1: blah'; exit 42")))
> EOF
$ dune clean; dune build
File "foo", line 1: blah
[1]
$ dune clean; dune build --always-show-command-line
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42')
File "foo", line 1: blah
[1]
$ dune clean; dune build --display short
sh alias default (exit 42)
File "foo", line 1: blah
[1]
$ dune clean; dune build --display short --always-show-command-line
sh alias default (exit 42)
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42')
File "foo", line 1: blah
[1]
Errors without location embed in their output
---------------------------------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (system "echo failure; exit 42")))
> EOF
$ dune clean; dune build
File "dune", lines 1-3, characters 0-66:
1 | (rule
2 | (alias default)
3 | (action (system "echo failure; exit 42")))
failure
[1]
$ dune clean; dune build --always-show-command-line
File "dune", lines 1-3, characters 0-66:
1 | (rule
2 | (alias default)
3 | (action (system "echo failure; exit 42")))
(cd _build/default && SH -c 'echo failure; exit 42')
failure
[1]
$ dune clean; dune build --display short
File "dune", lines 1-3, characters 0-66:
1 | (rule
2 | (alias default)
3 | (action (system "echo failure; exit 42")))
sh alias default (exit 42)
failure
[1]
$ dune clean; dune build --display short --always-show-command-line
File "dune", lines 1-3, characters 0-66:
1 | (rule
2 | (alias default)
3 | (action (system "echo failure; exit 42")))
sh alias default (exit 42)
(cd _build/default && SH -c 'echo failure; exit 42')
failure
[1]
Errors with no output
---------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (system "exit 42")))
> EOF
$ dune clean; dune build
File "dune", lines 1-3, characters 0-52:
1 | (rule
2 | (alias default)
3 | (action (system "exit 42")))
Command exited with code 42.
[1]
$ dune clean; dune build --always-show-command-line
File "dune", lines 1-3, characters 0-52:
1 | (rule
2 | (alias default)
3 | (action (system "exit 42")))
(cd _build/default && SH -c 'exit 42')
Command exited with code 42.
[1]
$ dune clean; dune build --display short
File "dune", lines 1-3, characters 0-52:
1 | (rule
2 | (alias default)
3 | (action (system "exit 42")))
sh alias default (exit 42)
[1]
$ dune clean; dune build --display short --always-show-command-line
File "dune", lines 1-3, characters 0-52:
1 | (rule
2 | (alias default)
3 | (action (system "exit 42")))
sh alias default (exit 42)
(cd _build/default && SH -c 'exit 42')
[1]
Successful commands with output
-------------------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (system "echo 'Hello, world!'")))
> EOF
$ dune clean; dune build
Hello, world!
$ dune clean; dune build --always-show-command-line
(cd _build/default && SH -c 'echo '\''Hello, world!'\''')
Hello, world!
$ dune clean; dune build --display short
sh alias default
Hello, world!
$ dune clean; dune build --display short --always-show-command-line
sh alias default
(cd _build/default && SH -c 'echo '\''Hello, world!'\''')
Hello, world!
Errors with-stdout-to
---------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (with-stdout-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
> EOF
$ dune clean; dune build
File "dune", lines 1-3, characters 0-108:
1 | (rule
2 | (alias default)
3 | (action (with-stdout-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
Command exited with code 42.
[1]
$ dune clean; dune build --always-show-command-line
File "dune", lines 1-3, characters 0-108:
1 | (rule
2 | (alias default)
3 | (action (with-stdout-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') > _build/default/bar
Command exited with code 42.
[1]
$ dune clean; dune build --display short
File "dune", lines 1-3, characters 0-108:
1 | (rule
2 | (alias default)
3 | (action (with-stdout-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
sh bar (exit 42)
[1]
$ dune clean; dune build --display short --always-show-command-line
File "dune", lines 1-3, characters 0-108:
1 | (rule
2 | (alias default)
3 | (action (with-stdout-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
sh bar (exit 42)
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') > _build/default/bar
[1]
Errors with-stderr-to
---------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (with-stderr-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
> EOF
$ dune clean; dune build
File "foo", line 1: blah
[1]
$ dune clean; dune build --always-show-command-line
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') 2> _build/default/bar
File "foo", line 1: blah
[1]
$ dune clean; dune build --display short
sh bar (exit 42)
File "foo", line 1: blah
[1]
$ dune clean; dune build --display short --always-show-command-line
sh bar (exit 42)
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') 2> _build/default/bar
File "foo", line 1: blah
[1]
Errors with-outputs-to
---------------------
$ cat >dune<<"EOF"
> (rule
> (alias default)
> (action (with-outputs-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
> EOF
$ dune clean; dune build
File "dune", lines 1-3, characters 0-109:
1 | (rule
2 | (alias default)
3 | (action (with-outputs-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
Command exited with code 42.
[1]
$ dune clean; dune build --always-show-command-line
File "dune", lines 1-3, characters 0-109:
1 | (rule
2 | (alias default)
3 | (action (with-outputs-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') &> _build/default/bar
Command exited with code 42.
[1]
$ dune clean; dune build --display short
File "dune", lines 1-3, characters 0-109:
1 | (rule
2 | (alias default)
3 | (action (with-outputs-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
sh bar (exit 42)
[1]
$ dune clean; dune build --display short --always-show-command-line
File "dune", lines 1-3, characters 0-109:
1 | (rule
2 | (alias default)
3 | (action (with-outputs-to bar (system "echo 'File \"foo\", line 1: blah'; exit 42"))))
sh bar (exit 42)
(cd _build/default && SH -c 'echo '\''File "foo", line 1: blah'\''; exit 42') &> _build/default/bar
[1]