-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make the output of Dune deterministic in tests #855
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,11 @@ | ||
$ dune runtest --root absolute-path 2>&1 | grep -v Entering | ||
$ dune runtest --root absolute-path | ||
Entering directory 'absolute-path' | ||
File "jbuild", line 3, characters 16-24: | ||
Error: Invalid alias! | ||
Tried to reference path outside build dir: "/foo/bar" | ||
$ dune runtest --root outside-workspace 2>&1 | grep -v Entering | ||
[1] | ||
$ dune runtest --root outside-workspace | ||
Entering directory 'outside-workspace' | ||
File "jbuild", line 4, characters 16-39: | ||
Error: path outside the workspace: ./../../../foobar from default | ||
[1] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,24 @@ | ||
When there are explicit interfaces, modules must be rebuilt. | ||
|
||
$ dune runtest --root explicit-interfaces --display quiet -j1 2>&1 | grep -v Entering | ||
$ dune runtest --root explicit-interfaces | ||
Entering directory 'explicit-interfaces' | ||
main alias runtest | ||
hello | ||
$ echo 'let x = 1' >> explicit-interfaces/lib_sub.ml | ||
$ dune runtest --root explicit-interfaces --display quiet -j1 2>&1 | grep -v Entering | grep -v ocamlopt | ||
$ dune runtest --root explicit-interfaces | ||
Entering directory 'explicit-interfaces' | ||
main alias runtest | ||
hello | ||
|
||
When there are no interfaces, the situation is the same, but it is not possible | ||
to rely on these. | ||
|
||
$ dune runtest --root no-interfaces --display quiet -j1 2>&1 | grep -v Entering | ||
$ dune runtest --root no-interfaces | ||
Entering directory 'no-interfaces' | ||
main alias runtest | ||
hello | ||
$ echo 'let x = 1' >> no-interfaces/lib_sub.ml | ||
$ dune runtest --root no-interfaces --display quiet -j1 2>&1 | grep -v Entering | grep -v ocamlopt | ||
$ dune runtest --root no-interfaces | ||
Entering directory 'no-interfaces' | ||
main alias runtest | ||
hello |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,19 @@ | ||
This behavior is surprising, we should get an error about the fact | ||
that ${@} is not quoted and doesn't contain exactly 1 element | ||
|
||
$ dune build --root bad x 2>&1 | grep -v Entering | ||
$ dune build --root bad x | ||
Entering directory 'bad' | ||
Error: Rule failed to generate the following targets: | ||
- x | ||
- y | ||
[1] | ||
|
||
|
||
The targets should only be interpreted as a single path when quoted | ||
|
||
$ dune build --root good s 2>&1 | grep -v Entering | ||
$ dune build --root good s | ||
Entering directory 'good' | ||
Error: Rule failed to generate the following targets: | ||
- s | ||
- t | ||
[1] |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why can't we just use
Path.descendant
here? I'm a bit worried that that we're hitting that annoying infinite loop case again ifdir
ends up being an absolute path.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently
Path.descendant
doesn't work for absolute paths. Here the two paths come fromSys.getcwd
, so I assumed they'd be normalized.