Commit Graph

295 Commits

Author SHA1 Message Date
Rudi Grinberg fadc57040b Path.absolute tests 2018-05-08 16:50:49 +07:00
Rudi Grinberg 9dcbc4ce53 Add unit tests for Path.relative 2018-05-07 22:46:28 +07:00
Rudi Grinberg c149043fde Tests for Path.reach 2018-05-07 22:41:43 +07:00
Jérémie Dimino 4d8ca489be
Add support for environment & build profiles (#419) 2018-05-04 16:49:25 +01:00
Jeremie Dimino adde723702 Update tests 2018-05-04 12:26:26 +01:00
Jeremie Dimino dabb77eb09 Rename all jbuild.inc files 2018-05-04 12:26:26 +01:00
Jeremie Dimino dc0a6d4401 Rename all jbuild files 2018-05-04 12:26:26 +01:00
Jérémie Dimino 325584adfc
Renaming to Dune (#721)
- install two identical binaries: jbuilder and dune
- rename the man pages to dune-*
- change the name in man pages
- change the name of libraries
- add support for dune-project files and add a dune-project file
- add support for dune-workspace files
- start updating the manual
- update the tests
2018-05-02 12:56:12 +01:00
Rudi Grinberg 623ebfc2da Add expectation test to parsing out of findlib toolchain config 2018-05-01 20:16:19 +07:00
Rudi Grinberg 7b17fa013f Fix #717
Extensions should be removed from the map of basenames to mld paths
2018-04-29 00:52:29 +07:00
Rudi Grinberg 575cbce699 Add test showing odoc failure with index.mld 2018-04-29 00:34:53 +07:00
Rudi Grinberg 40631805ef Multiple private libs requires odoc 2018-04-27 23:30:42 +07:00
Rudi Grinberg 558b372cf0 Add unit tests to target without deps 2018-04-27 21:55:43 +07:00
Rudi Grinberg f84550b98a Tag jsoo and utop tests as taking externals 2018-04-27 21:34:48 +07:00
Jérémie Dimino 8796df8a74
Fix flags in output-obj test (#728) 2018-04-26 18:47:20 +01:00
Rudi Grinberg c406a51bb3 Fix github25 tests 2018-04-26 11:46:14 +01:00
Rudi Grinberg f8c348983e Skip <4.06.0 for output-obj 2018-04-26 11:46:14 +01:00
Rudi Grinberg be3840005e Generate blackbox tests
Generate these tests from the listing of directories. This allows us to
effectively mark which tests are not working in certain conditions/platforms.
2018-04-26 11:46:14 +01:00
Rudi Grinberg 7820e29d28 Port Io to use Path.t 2018-04-25 03:25:27 +07:00
Rudi Grinberg bc2a375e2c
Merge pull request #719 from rgrinberg/path-stdune
Move Sexp to Studune
2018-04-24 20:30:52 +07:00
Jeremie Dimino dfbb609d39 Update output-obj tests 2018-04-24 13:51:57 +01:00
Jeremie Dimino 85f434de2b Improve path.mlt 2018-04-24 13:37:53 +01:00
Rudi Grinberg 6aa1b84fee Move Path to Stdune
* This requires moving Fatal_error and Loc_error to Stdune.Exn as well

* Clflags.workspace_root can no longer be used in Path.to_absolute_filename. We
  just take a parameter instead for now.
2018-04-24 19:33:40 +07:00
Rudi Grinberg e991c261ca
Merge pull request #716 from rgrinberg/sexp-stdune
Move Code_error to stdune
2018-04-23 18:20:15 +07:00
Rudi Grinberg 98b2ea795c Move String_map to stdune 2018-04-23 12:43:20 +07:00
Rudi Grinberg 709385ed66 Don't rely on "ext_exe" always being present
It's not present in older OCaml, so we need to guess the ext_exe ourselves.
2018-04-20 17:32:48 +07:00
Rudi Grinberg 13eea737f9 Don't use getenv_opt in configurator test 2018-04-20 17:32:37 +07:00
Rudi Grinberg 6819749550 Remove -ocamlv arg from cram tests
The ocamlc config is passesd courtesy of configurator anyway
2018-04-18 23:14:32 +07:00
Rudi Grinberg ab50461741 Make extensions portable in cram output
With some really ugly post processing
2018-04-18 21:21:09 +07:00
Rudi Grinberg f8f1a4036e Change cram.mll to not use anon args 2018-04-18 19:30:40 +07:00
Etienne Millon ec9ff813ad Fallback to implementation if there is no mli 2018-04-17 15:51:29 +01:00
Etienne Millon 40624e744b Build transitive dependencies with ocamldep
This uses two different extensions:

- `.d` corresponds to the raw `ocamldep` output.
- `.all-deps` corresponds to this output, merged with the dependencies
of all the interfaces mentioned in the earlier.

This also means that `.all-deps` files will contain output from multiple
files.
2018-04-17 15:51:29 +01:00
Etienne Millon 0cf8a8240a Add tests
The symptoms are a bit different depending on the presence of an
interface file.
2018-04-17 15:51:29 +01:00
Rudi Grinberg 9414913286 Add test to make sure that ${null} isn't a target 2018-04-17 10:58:53 +07:00
Rudi Grinberg 8c86604ee6 Add test to show that jbuilder mishandles ${null}
Jbuilder incorrectly infers ${null} to be a target
2018-04-17 10:37:34 +07:00
Rudi Grinberg 69b76f0c8e Add ?prelude argument when import constants
A user can now define their own macros to use with extracting compile time info
2018-04-17 00:26:23 +07:00
Rudi Grinberg c1ca2f96b9 Improve configurator tests
* Don't use asserts to test extracted values. Just print them and relying on
  diffing for comparison

* Use a string constant type.
2018-04-16 13:01:25 +07:00
Rudi Grinberg f1f60c4081
Merge pull request #695 from rgrinberg/dune-pass-ocamlc
Pass ocamlc explicitly to configurator using DUNE_CONFIGURATOR
2018-04-12 19:48:58 +07:00
Jérémie Dimino db41c3549b
Add a test showing a weird quoting problem (#699) 2018-04-12 13:02:41 +01:00
Rudi Grinberg d65845abb8 Pass ocamlc explicitly to configurator using DUNE_CONFIGURATOR 2018-04-11 21:26:51 +07:00
Rudi Grinberg a3a9a1c719 Move current configurator API to V1 module 2018-04-11 09:43:37 +07:00
Rudi Grinberg 148835967e Add tests for import defines 2018-04-10 22:05:52 +07:00
Rudi Grinberg fb8d400165 Add formatting to configurator tests 2018-04-10 22:05:52 +07:00
Rudi Grinberg 8ee13dde4d Test compiling C program 2018-04-10 22:05:52 +07:00
Rudi Grinberg ab9b278304 Add actual test suite for configurator 2018-04-10 22:05:52 +07:00
Rudi Grinberg 62bbd5d30e
Merge pull request #671 from rgrinberg/pr/653
Cosmetic changes for default package entry point.
2018-04-10 20:04:28 +07:00
Jeremie Dimino 22b024a977 More hacks for external-lib-deps
Fix #644
2018-04-09 06:31:52 +08:00
Jeremie Dimino 606ad1b10f Pass around library dependencies as static values
This way we know more of the compilation DAG statically. This helps
for parallelism as well as for `jbuilder external-lib-deps`
2018-04-09 06:31:52 +08:00
Rudi Grinberg 18948faff8 Use hand made pretty printers for top level expect tests
These tests would fail in 4.02.3 because of the toplevel choosing to print some
module paths differently
2018-04-05 23:03:07 +08:00
Jeremie Dimino 4c9de316f0 Simplify blackbox tests
Remove all the -j1, --root ., --display quiet
2018-04-03 11:44:10 +08:00
Jeremie Dimino 24de79934b Simplify a bit blackbox tests
- make them depend on (package jbuilder)
- s/$JBUILDER/jbuilder/
2018-04-03 11:42:29 +08:00
Thomas Refis 77c717b9af Cosmetic changes for default package entry point. 2018-04-03 00:54:30 +08:00
Rudi Grinberg 244773ef80 Improve odoc tests to test wrapped and non wrapped module listings 2018-04-03 00:51:21 +08:00
Anton Bachin f29ff0945d Place module list on its own line (take 2)
See eb05f4f643 and
https://github.com/ocaml/dune/pull/367#issuecomment-352209790.
2018-04-03 00:13:36 +08:00
Rudi Grinberg ff211b18a7 Fix lazy loading of rules
We must load package rules when a file in the _mld dir is requested
2018-04-02 23:15:56 +08:00
Rudi Grinberg 1b1c5f032d Test to show broken lazy loading of rules 2018-04-02 23:15:07 +08:00
Jeremie Dimino 84251a5b81 Update tests as order of deps changed 2018-03-30 16:47:56 -04:00
Jeremie Dimino fb101857d4 Extend test for #644 2018-03-27 17:46:21 -04:00
Jeremie Dimino ad00c1509f Fix #657 2018-03-27 17:25:25 -04:00
Jeremie Dimino daef49ce55 Add test for #657 2018-03-27 17:25:25 -04:00
Jeremie Dimino 103af8627c Added a reproduction case for #644 2018-03-27 14:50:36 -04:00
Rudi Grinberg fae5e78fc2 Change Meta.load to return the simplified meta
It's always simplified anyway
2018-03-23 10:12:34 +08:00
Rudi Grinberg 2ea04b706b Add another package to odoc tests 2018-03-22 20:40:46 +08:00
Rudi Grinberg 1c77992a28 Add test for #637 regression 2018-03-22 00:03:35 +08:00
Jeremie Dimino c685e8ac6d Remove useless load_dir 2018-03-19 01:24:04 +08:00
Jeremie Dimino a729409fa7 Update the package-dep test to test dependencies between packages 2018-03-19 01:22:44 +08:00
Rudi Grinberg 727d9688e9 Add tests for (package foo) dependency type 2018-03-19 01:17:31 +08:00
Rudi Grinberg 4a0f4c0ff9 Fix encoding of inline_tests
Encode optional fields as records where optional keys that are None will be
omitted in the resultant sexp. This will match reading the keys back with field_o
2018-03-18 22:48:42 +08:00
Rudi Grinberg 7a26c18e20 New odoc rules 2018-03-18 17:44:08 +08:00
Jeremie Dimino 41cdb98e63 Improve sexp tests 2018-03-17 14:23:43 +00:00
Jeremie Dimino e3f34fab71 Add a test for Usexp.Atom.is_valid 2018-03-17 14:23:43 +00:00
Rudi Grinberg f39b302a8d Fix Atom definition of Usexp
Fix the is_valid function to only validate atoms that don't contain spaces,
parens, comment characters.
2018-03-17 14:23:43 +00:00
Rudi Grinberg 154b405e51 use str as runner dep 2018-03-17 14:23:43 +00:00
Rudi Grinberg a8ee7bfad5 Add test witnessing generation of backend dune files
It shows that jbuilder fails to correctly escape the action field
2018-03-17 14:23:43 +00:00
Rudi Grinberg 521a36dcef
Merge pull request #603 from diml/universe
Allow to depend on the universe
2018-03-14 13:02:23 +07:00
Jeremie Dimino e2adf9d44a Allow to depend on the universe
Fix #255
2018-03-13 19:12:57 +00:00
Rudi Grinberg daf95cef09 private/public tests with (optional)
Currently, a library marked (optional) will not build if it's public and has a
private dependency.
2018-03-14 02:37:11 +08:00
Rudi Grinberg 54b93c2f85 Fix incorrect line numbers in tests 2018-03-13 10:50:39 +07:00
Rudi Grinberg 12511a68ea
Merge pull request #607 from rgrinberg/private-public-overlap-take2
Disallow public/private overlap
2018-03-13 03:39:55 +07:00
Jérémie Dimino ca5c383b3b
Fix locations reported by the parser (#609)
The start position of atoms wasn't saved by the parser.
2018-03-12 18:41:49 +00:00
Jeremie Dimino e57a706960 Use the use-site location for errors from pps 2018-03-12 18:07:05 +00:00
Jeremie Dimino 7e361d596e Let Report_error print the location for Private_deps_not_allowed 2018-03-12 17:58:54 +00:00
Rudi Grinberg 753badd481 Fix private deps check for ppx runtime dependencies 2018-03-13 00:11:12 +07:00
Rudi Grinberg b2258b6c98 Remove private/public overlap from meta tests
Those will go in their own test
2018-03-12 23:59:52 +07:00
Rudi Grinberg 35da6080e6 Private/Public overlap tests
private dependencies aren't allowed in public libraries. These tests
demonstrates that dune accepts them anyway
2018-03-12 22:13:44 +07:00
Jeremie Dimino cfd4d81be6 Skip object tests for OCaml < 4.06.0 2018-03-12 14:27:44 +00:00
Jeremie Dimino ff8a53acb7 Extend the syntax of -skip-versions 2018-03-12 14:27:31 +00:00
François Bobot feba0827b8 Allow to link executables as static or shared objects (#23)
- Setup the rules to use the `-output-complete-obj` option of OCaml
- Introduce a `best` mode in addition to `byte` and `native`
- Extend the `modes` field of executables to mean "linking modes", and add linking modes for static and shared objects
2018-03-12 11:40:53 +00:00
Jeremie Dimino 5286b42f58 Fix #597 2018-03-10 08:25:45 +07:00
Jeremie Dimino bc2b740c4c Add a reproduction case for #597 2018-03-10 08:25:31 +07:00
Jeremie Dimino f20b43a22b Strip colors in blackbox tests 2018-03-06 11:01:06 +00:00
Jérémie Dimino 4857ed444a
Reduce interleaving in the scheduler (#586) 2018-03-05 17:52:21 +00:00
Rudi Grinberg 5ded45faf0
Merge pull request #584 from rgrinberg/improve-error-modules
Improve error in modules partition
2018-03-05 23:47:19 +07:00
Jeremie Dimino 348d2b1a1e display tweaks 2018-03-05 16:24:24 +00:00
Rudi Grinberg 719cf5eea0 Improve error in modules partition
Specify how to fix the error (by writing modules fields)
2018-03-05 23:11:45 +07:00
Rudi Grinberg dcbfc37666 Add flags field to menhir test 2018-03-05 20:03:36 +07:00
Rudi Grinberg 14d1a4f5e0 META file includes private libraries
This is incorrect as those aren't installed
2018-03-04 01:29:27 +07:00
Jeremie Dimino de99d84f73 Ignore errors while generating the .merlin file
Fix #568
Fix #51
2018-03-01 23:34:43 +00:00
Jeremie Dimino 224d627d07 Import the test case for #568 2018-03-01 23:30:01 +00:00
Jeremie Dimino 2e7f881d4c Fix #567
The alias module needs an implementation for non-jbuilder users.
2018-03-01 20:47:08 +00:00