Commit Graph

500 Commits

Author SHA1 Message Date
Rudi Grinberg 91e96316b2 Add failing reason for reason preprocessing 2017-12-18 20:51:16 +08:00
Rudi Grinberg b7dd41fc6e
Add blackbox test for select construct (#363) 2017-12-13 14:34:35 +08:00
Rudi Grinberg 058643608c
Jbuilder exec rebuilt if possible option (#345)
Make jbuilder exec build its target

Jbuilder will now attempt to rebuild the target before executing it. This option can be turned off by passing in --no-build
2017-12-11 18:23:07 +08:00
Rudi Grinberg d53f26c841 Add odoc generation tests 2017-12-11 14:08:06 +08:00
Rudi Grinberg 451a6d34af Add support for conditional execution to cram
We'd like the ability to skip tests on certain versions of OCaml that don't
support what is being tested.
2017-12-11 14:07:09 +08:00
Rudi Grinberg 0863c1d941 Reason black box tests
Test the following scenarios:
* reason source, reason interface
* reason source, ocaml interface
* ocaml source, reason interface
* preprocessed reason sources
* rei files are included in the .install file
2017-12-10 23:25:21 +08:00
Rudi Grinberg 5647ae83b0 black box tests for .install file generation 2017-12-05 20:37:46 +08:00
Rudi Grinberg c815ea6f20 Simple test for the ocaml syntax for jbuild files 2017-12-03 20:29:44 +08:00
Rudi Grinberg 9983b3e7bd
Add tests for meta generation (#344)
Try to test as many aspects as possible: dependencies, synopsis, ppx, etc.
2017-11-29 16:22:37 +08:00
Rudi Grinberg 785beeafac
Add option to force running tests (#320)
Option to force running tests

The mechanism allows for forcing any alias, but only forcing tests is exposed to the user. Aliases are forced by deleting all the alias files that belong to a particular alias. The option for forcing tests is called --force.
2017-11-28 19:03:22 +08:00
Rudi Grinberg 02a4c59654 Remove mention of recursive aliases from error message
all aliases are non recursive
2017-10-19 08:17:34 +08:00
Rudi Grinberg 192f6681e0 Fix jsoo cram tests
The order of some commands changed. However, the same commands are still being
executed.
2017-10-16 10:38:40 +08:00
Jeremie Dimino 63e8a76006 Add tests for aliases 2017-10-14 10:37:36 +08:00
Jeremie Dimino a47e3ab78a Fix cram tests 2017-09-29 17:22:15 +01:00
Jeremie Dimino 5de73ca740 Add support for locks in rules
This is to allow users define more complicated tests without having
to resort to -j1.
2017-09-29 12:20:08 +01:00
Jeremie Dimino 30076e7d79 Fix #264 2017-09-29 12:01:47 +01:00
Jeremie Dimino 50cbbe2ac5 Add ${path-no-dep:...}
To be able to resolve path names that are not dependencies.
2017-09-29 11:55:23 +01:00
Jeremie Dimino 726e738bb6 Expose bug described in #264 2017-09-29 11:28:36 +01:00
Jeremie Dimino c71acbd930 Make the testsuite pass on Windows
Thought it still requires `sh` and a few Unix tools
2017-09-22 01:59:40 +01:00
François Bobot cecf0a2aaf Add (copy_files <glob>) stanza (#35)
Add (copy_files <glob>) and (copy_files# <glob>) stanzas. These
stanzas setup rules for copying files from a sub-directory to the
current directory.

This provides a reasonable way to support multi-directory
library/executables in jbuilder.
2017-09-10 02:31:07 +01:00
Jeremie Dimino d55c807d51 Allow to localize the error reported by Path.relative/of_string
Since these are often used to parse user input.
2017-09-10 01:26:06 +01:00
Jeremie Dimino e1114d18df Reorganize tests
Switch blackbox tests to cram testing.
2017-08-11 11:36:33 +01:00
Jeremie Dimino 4b40cad247 Revert public_interfaces for now
The code to support it is starting to become increasingly complicated
and the number of problem found is a bit alarming.

We'll reinclude it later after a bit more testing and hopefully some
simplifications.
2017-07-21 17:32:39 +01:00
François Bobot a3933a2c18 Add public_interfaces selection for libraries (#106)
Add a field "public_interfaces" to library stanza listing which modules are public.

Private modules won't be accessible outside the scope where the library is defined.
2017-07-19 15:26:48 +01:00
Jeremie Dimino daeb40b087 Add SCOPE_ROOT
While analysing packages using jbuilder, I found that some packages
use ${ROOT} to refer to the root of the project. However, this doesn't
work as ${ROOT} depends on the workspace configuration.

Add ${SCOPE_ROOT} to make this easier for projects with a lot of
nested sub-directories.
2017-06-09 12:45:05 +01:00
Jeremie Dimino 6b07ee2e3c Fix build of tests with --dev 2017-06-09 12:45:05 +01:00
Jeremie Dimino 3983d669db Add a test for inferred rules 2017-06-08 18:46:25 +01:00
Jeremie Dimino 745e58039b Fix expect tests 2017-05-31 10:25:19 +01:00
Jeremie Dimino 92f0b7daaa Fix test 2017-05-31 10:20:33 +01:00
Jeremie Dimino 116769724f Allow to use ${^} in actions in conjunction with (glob_files ...) and (file_recursively_in ...) 2017-05-29 18:53:54 +01:00
Jérémie Dimino 7c9dcbf284 Added deps/targets inference 2017-05-29 07:51:52 +01:00
Jeremie Dimino 60d09f7e27 Print background process failures when exiting 2017-05-26 17:30:34 +01:00
hhugo 86a4f0324a Add js_of_ocaml support (#60)
Add rules for building .js files from .bc files using js_of_ocaml as well as rules for separate js compilation when --dev is passed.
2017-05-02 11:25:37 +01:00
Jeremie Dimino 07871b1190 Add support for ${lib-available:<name>} forms 2017-04-17 12:48:54 +01:00
Rudi Grinberg 3e3d92c9e5 Add menhir support (#42)
Adds the menhir stanza which desugars into a Rule.t with Support for:
* ocamlyacc like use
* modular parsers with --base
* passing extra flags

Also add tests and documentation.
2017-04-03 16:25:43 +01:00
Jeremie Dimino 047139a2d7 Added tests for Map.of_alist_multi 2017-03-31 13:50:36 +01:00
Jeremie Dimino 99b0d94335 Fixed the implementation of Filename.{split_,}ext 2017-03-31 13:34:30 +01:00
Stephen Dolan b5ae1b1f52 Quieter output (#40)
Makes the output quieter by default and add a `--verbose` argument. Print a message when waiting for background jobs to finish only it it takes more than 0.5 seconds.
2017-03-30 17:36:58 +01:00
Jeremie Dimino d5b5322f12 Fix a bug in the interpretation of META files
Before this commit, when there was more than one applicable
assignment, the one with the lowest number of formal predicates was
selected instead of the one with the biggest number of formal predicates
2017-03-29 17:47:17 +01:00
Jeremie Dimino 16233d1ebe Added tests for the findlib subsystem 2017-03-29 17:39:17 +01:00
Jeremie Dimino 462db5d748 Run jbuilder with -j1 in tests 2017-03-15 16:28:20 +00:00
Jeremie Dimino a5e01841db add missing file 2017-03-15 15:47:21 +00:00
Jeremie Dimino 6d1bb607c9 Fix #25 2017-03-15 15:44:27 +00:00
Jeremie Dimino f95390ef0a Added a test case for #25 2017-03-15 15:16:55 +00:00
Jeremie Dimino 34a8951292 Improve dependency path printing 2017-03-15 11:49:31 +00:00
Jeremie Dimino 20cbf2db69 Add test files for previous commit 2017-03-15 11:28:33 +00:00
Jeremie Dimino 85607929d1 Add test case for #24 2017-03-15 11:17:09 +00:00
Jeremie Dimino bf4a4ba5f9 Add a regression test for #20 2017-03-15 11:13:49 +00:00
Jeremie Dimino d8fd2f084c re-arrange tests 2017-03-15 11:08:54 +00:00
Jérémie Dimino ba08f27678 Add a few more redirections
- with-{stdout,stderr,outputs}-to
- ignore-{stdout,stderr,outputs}
- variable ${null} for /dev/null or NUL on Win32
2017-03-13 08:10:59 +00:00