Commit Graph

38 Commits (9e181ca8f446d238ba279bc22fef9d166d4f38b0)

Author SHA1 Message Date
David Allsopp 9bc33d945a Add Ocamltest_stdlib.Unix.has_symlink
Replaces the duplicated C stub. Functions from Unix must be explictly
imported.
2020-07-23 14:55:36 +01:00
Sébastien Hinderer a50d177c2a ocamltest: improve the way executable file extension is determined
Use the EXE build variable rather than OS type to determine the
extension of executable files
2020-06-18 11:07:43 +02:00
Nicolás Ojeda Bär 6c311f3007 stop passing the constant ocamlsrcdir to each function 2020-05-27 19:19:22 +02:00
David Allsopp ac2a9dd188 Cease committing C dependendency information
When building for the first time, the only requirement is that generated
header files have been built (jumptbl.h, version.h and opnames.h).
Detailed dependency information is only required when headers have been
edited.

COMPUTE_DEPS in Makefile.config controls whether C dependency
information should be generated on a per-file basis. This variable is
controlled by a new --disable-dependency-generation in configure which
is enabled for Git checkouts and disabled for tarballs (i.e. releases).

The Microsoft C compiler (cl) cannot generate dependencies in a
consistent way which we can consume, so for a Git checkout configure
searches for an additional C compiler in order to compute dependencies.
This is obviously not required for a user-build.

As a result, the MSVC port can now safely run make alldepend, since only
OCaml dependency information is committed to the repo after this change.

CI does not need to waste time testing the dependency information,
because it only tests a single build. A single Travis job has been added
which tests the build system code to generate the dependency information
(and provides a single `make -j` run in CI, although Inria's CI also
tests parallel building continuously).
2020-04-17 14:11:22 +01:00
Damien Doligez e92d13c986 last commit before branching 4.11 2020-04-22 17:28:08 +02:00
Sébastien Hinderer c1d7b8f47f ocamltest: add support for using strace 2019-09-26 17:44:22 +02:00
Sébastien Hinderer 0912ecde6f ocamltest: introduce the action_name variable
This variable makes the name of the currently executed action available in
the ocamltest environment.
2019-09-26 17:44:22 +02:00
Sébastien Hinderer 47c887584d ocamltest: take parsing of response files out of environments module
This commit is a follow-up to 123334881a.

Its purpose is to make the environments module abstract again,
by moving the parsing mechanism in its own module.
Consequently, the environments module can be linked earlier again (as
was the case before the commit mentionned above) and can thus be
used in other modules.
2019-09-26 17:44:22 +02:00
Jacques-Henri Jourdan c0dbbfdd71 Memprof: stop using C global roots, and use our own root system.
Registering and unregistering global C roots was time consuming.
2019-08-27 19:05:03 +02:00
Jacques-Henri Jourdan 052a950dea Statistical memory profiling of blocks allocated in the major heap. 2019-05-09 16:40:45 +02:00
Damien Doligez 123334881a Harden ocamltest against errors in scripts and hooks 2019-04-02 17:24:16 +02:00
Mark Shinwell dbede46c2e
Improve the packing mechanism used to build Dynlink (#2268) 2019-03-19 10:26:35 +00:00
Damien Doligez 6bbb913693 last commit before branching 4.08 2019-01-18 15:29:36 +01:00
Gabriel Scherer 295f71cb96 make alldepend (with new one-dep-per-file printing) 2018-12-12 09:38:49 +01:00
Hugo Heuzard 1ac5954ca7 depend 2018-08-06 13:19:28 +01:00
Sébastien Hinderer d3e73595e5 Merge the asmrun and byterun directories into the runtime directory 2018-06-28 17:50:33 +02:00
Sébastien Hinderer 148fd3bf86 ocamltest: add the -show-variables commandline option
This option prints all the variables known by ocamltest
2018-05-29 08:45:56 +02:00
Sébastien Hinderer 9273bab69e ocamltest: update dependencies 2018-04-27 18:16:17 +02:00
Sébastien Hinderer 487cc660aa ocamltest: introduce the use_runtime variable
This is used to disable the use of the "-use-runtime" command-line option.
2018-04-10 20:41:23 +02:00
Jérémie Dimino 32da45a80a Move bigarray to the stdlib (#1685) 2018-04-09 13:14:05 +01:00
Sébastien Hinderer 95c80b19fd ocamltest: make it possible to specify an exit status for programs
This makes it possible to specify that a program is expected to
return a non-zero exit status
2018-02-28 21:03:44 +01:00
Sébastien Hinderer 3cedaaed4d ocamltest: add a compiler method to the toplevel class
When a toplevel test consists in more than one file, it is necessary to
compile the auxiliary files so that they can then be loaded into the toplevel.
This method stores for each toplevel the compiler to use to do this.
2018-02-27 18:32:32 +01:00
Sébastien Hinderer e9e7f6d12b ocamltest use the program_variable and progrma_output_variable methods 2018-02-27 18:32:32 +01:00
Sébastien Hinderer d00beb71e3 ocamltest: distinguish toplevels from compilers 2018-02-27 18:32:32 +01:00
Sébastien Hinderer c36849d915 ocamltest: define the compilers with classes
This commit also introduces the ocaml_tools module.
2018-02-27 18:32:32 +01:00
Sébastien Hinderer 65ada89479 ocamltest: move and rename variable
Builtin_variables.ld_library_path is now
Ocaml_variables.caml_ld_library_path
2018-02-27 18:32:32 +01:00
Sébastien Hinderer ca70c51cd7 ocamltest: update dependencies 2018-02-19 10:27:28 +01:00
Sébastien Hinderer 11118e03ae ocamltest: extend the Ocaml_filetypes module
Add constructors for the binary files
2018-02-07 18:47:11 +01:00
Sébastien Hinderer 0078dc54df ocamltest: rename the Filetype module into Ocaml_filetypes
This code is clearly OCaml-specific.
2018-02-07 17:58:44 +01:00
Sébastien Hinderer 248b9fcb0d ocamltest: rely on our own backend type
Use a backend type with only two constructors rather than the one provided
by the stdlib. This avoids having to deal with the "Other" case.
2018-02-07 17:24:25 +01:00
Sébastien Hinderer 8c75ba867f ocamltest: introduce the result module
This module contains types describing test results and functions to
build and use them.

Before this commit, only successful actions were returning an environemnt.
Starting from this commit, actions always return an environemnt, no matter
their result.

This will make it possible to write negations over tests.
2018-02-05 08:49:49 +01:00
Sébastien Hinderer 8ae50ef1d6 ocamltest: introduce the ocaml_compilers module 2018-01-31 09:14:43 +01:00
Sébastien Hinderer c0ce2cd2d9 ocamltest: introduce the ocaml_commands module 2018-01-31 09:14:43 +01:00
Sébastien Hinderer 6f4ae1d0e8 ocamltest: introduce the ocaml_flags module 2018-01-31 09:14:43 +01:00
Sébastien Hinderer a029ecea18 ocamltest: introduce the ocaml_directories module 2018-01-31 09:14:43 +01:00
Sébastien Hinderer a828e36d37 ocamltest: introduce the ocaml_files module 2018-01-31 09:14:43 +01:00
Sébastien Hinderer f0b9b8e9c4 ocamltest: refactoring and implementation of hooks 2017-11-23 17:04:46 +01:00
Sébastien Hinderer 635b5edcc1 ocamltest: the test driver for the OCaml compiler
This commit contains:

- The initial version of the tool itself, in the ocamltest directory
- The required additions to the main .gitignore and .merlin files.

The integration of ocamltest in OCaml's main build system and its use
in the testsuite are not part of this commit.

Credits go to David Allsopp for
- Extending the computation of ocamlsrcdir to the Windows case
- Making ocamltest compile when flexlink
is being bootstrapped.
2017-09-18 17:40:14 +02:00