Skip to content
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

Automatically generate dune rules for tests #1068

Merged
merged 8 commits into from
Dec 13, 2019
Merged

Automatically generate dune rules for tests #1068

merged 8 commits into from
Dec 13, 2019

Conversation

trefis
Copy link
Contributor

@trefis trefis commented Dec 11, 2019

Inspired by dune's own setup.

@trefis
Copy link
Contributor Author

trefis commented Dec 11, 2019

The error is due to me not generating a (package merlin) field in the rule stanza. I'll fix that tomorrow and then it should be good to merge.

Copy link
Member

@rgrinberg rgrinberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Hopefully we'll have a proper solution for this in dune soon.


(alias
(name runtest)
(action (diff dune.inc dune.inc.gen)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ddi you try (mode promote) in the rule above and change the target to dune.inc? That seems a bit simpler.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just copied what dune itself is doing.
I think there was a reason why simply generating dune.inc wouldn't work, but I don't remember. Perhaps @aalekseyev will know?

@trefis trefis merged commit 6a15b37 into master Dec 13, 2019
@trefis trefis deleted the gen-tests branch December 13, 2019 07:47
@trefis
Copy link
Contributor Author

trefis commented Dec 13, 2019

Note: I ended up not generating the (package merlin) field, since LSP moved out.

@trefis
Copy link
Contributor Author

trefis commented Dec 13, 2019

Here is something I should have seen coming: just reading the tests directories to generate the rule means that the order in which rules are generated is not deterministic… which means travis is unhappy.

@rgrinberg
Copy link
Member

Here is something I should have seen coming: just reading the tests directories to generate the rule means that the order in which rules are generated is not deterministic… which means travis is unhappy.

In dune, I think we sort the dirs first.

let-def added a commit to let-def/opam-repository that referenced this pull request Apr 15, 2020
CHANGES:

Tue Apr 14 15:25:05 CEST 2020

  + backend
    - full support from OCaml 4.02 to OCaml 4.10 (ocaml/merlin#1117, ocaml/merlin#1127)
    - fix desynchronized cache (ocaml/merlin#1120)
    - short path for OCaml 4.09 and OCaml 4.10 (ocaml/merlin#1082, ocaml/merlin#1117)
    - catch and test environment initialization errors (ocaml/merlin#1083, ocaml/merlin#1130)
    - restore type levels after recovery (ocaml/merlin#1092)
  + frontend
    - fix syntax errors in 4.08 and 4.09 (ocaml/merlin#1081)
    - complete-prefix command accepts -kind option to filter results (ocaml/merlin#1071)
    - code cleanup (ocaml/merlin#1093, ocaml/merlin#1079, ocaml/merlin#1112)
    - better handling of expression and pattern extra nodes during browse tree
      traversal (ocaml/merlin#1091, ocaml/merlin#1121)
    - improve context detection (e.g. appropriate namespace for lookup) for
      various queries (ocaml/merlin#1104, ocaml/merlin#1110)
    - add stdlib to locate source path (ocaml/merlin#1085)
  + editor modes
    - vim: tweak heuristic to select python version (ocaml/merlin#1111)
    - emacs: marlin/call
    - lsp: move server to its own repository (ocaml/merlin#1069),
      https://github.com/ocaml/ocaml-lsp
  + testsuite
    - dune rules for the testsuite are now generated, deterministic and
      can be run individually (ocaml/merlin#1068, ocaml/merlin#1070, ocaml/merlin#1072)
    - fix incorrect command-line arguments in tests (ocaml/merlin#1073)
    - better coverage of frontend features (ocaml/merlin#1075, ocaml/merlin#1078, ocaml/merlin#1088, ocaml/merlin#1089, ocaml/merlin#1126)

Build no longer relies on implicit transitive_deps (ocaml/merlin#1065).
let-def added a commit to let-def/opam-repository that referenced this pull request Apr 15, 2020
CHANGES:

Tue Apr 14 15:25:05 CEST 2020

  + ocaml support
    - full support from OCaml 4.02 to OCaml 4.10 (ocaml/merlin#1117, ocaml/merlin#1127)
    - fix desynchronized cache (ocaml/merlin#1120)
    - short path for OCaml 4.09 and OCaml 4.10 (ocaml/merlin#1082, ocaml/merlin#1117)
    - catch and test environment initialization errors (ocaml/merlin#1083, ocaml/merlin#1130)
    - restore type levels after recovery (ocaml/merlin#1092)
  + merlin binary
    - fix syntax errors in 4.08 and 4.09 (ocaml/merlin#1081)
    - complete-prefix command accepts -kind option to filter results (ocaml/merlin#1071)
    - code cleanup (ocaml/merlin#1093, ocaml/merlin#1079, ocaml/merlin#1112)
    - better handling of expression and pattern extra nodes during browse tree
      traversal (ocaml/merlin#1091, ocaml/merlin#1121)
    - improve context detection (e.g. appropriate namespace for lookup) for
      various queries (ocaml/merlin#1104, ocaml/merlin#1110)
    - add stdlib to locate source path (ocaml/merlin#1085)
  + editor modes
    - vim: tweak heuristic to select python version (ocaml/merlin#1111)
    - emacs: marlin/call
    - lsp: move server to its own repository (ocaml/merlin#1069),
      https://github.com/ocaml/ocaml-lsp
  + test suite
    - dune rules for the test suite are now generated, deterministic and
      can be run individually (ocaml/merlin#1068, ocaml/merlin#1070, ocaml/merlin#1072)
    - fix incorrect command-line arguments in tests (ocaml/merlin#1073)
    - better coverage of frontend features (ocaml/merlin#1075, ocaml/merlin#1078, ocaml/merlin#1088, ocaml/merlin#1089, ocaml/merlin#1126)

Build no longer relies on implicit transitive_deps (ocaml/merlin#1065).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants