1DUNE-TEST(1)                      Dune Manual                     DUNE-TEST(1)
2
3
4

NAME

6       dune-test - An alias for runtest.
7

SYNOPSIS

9       dune test [OPTION]… [DIR]…
10

DESCRIPTION

12       dune test is an alias for dune runtest.
13
14       See dune runtest --help for details.
15

OPTIONS

17       --action-stderr-on-success=VAL
18           Same as --action-stdout-on-success but for the standard output for
19           error messages. A good default for large mono-repositories is
20           --action-stdout-on-success=swallow
21           --action-stderr-on-success=must-be-empty. This ensures that a
22           successful build has a "clean" empty output.
23
24       --action-stdout-on-success=VAL
25           Specify how to deal with the standard output of actions when they
26           succeed. Possible values are: print to just print it to Dune's
27           output, swallow to completely ignore it and must-be-empty to
28           enforce that the action printed nothing. With must-be-empty, Dune
29           will consider that the action failed if it printed something to its
30           standard output. The default is print.
31
32       --build-info
33           Show build information.
34
35       --display-separate-messages
36           Separate error messages with a blank line.
37
38       --error-reporting=VAL (absent=deterministic)
39           Controls when the build errors are reported. early - report errors
40           as soon as they are discovered. deterministic - report errors at
41           the end of the build in a deterministic order. twice - report each
42           error twice: once as soon as the error is discovered and then again
43           at the end of the build, in a deterministic order.
44
45       -f, --force
46           Force actions associated to aliases to be re-executed even if their
47           dependencies haven't changed.
48
49       --file-watcher=VAL (absent=automatic)
50           Mechanism to detect changes in the source. Automatic to make dune
51           run an external program to detect changes. Manual to notify dune
52           that files have changed manually."
53
54       --passive-watch-mode
55           Similar to [--watch], but only start a build when instructed
56           externally by an RPC.
57
58       --react-to-insignificant-changes
59           react to insignificant file system changes; this is only useful for
60           benchmarking dune
61
62       --sandbox=VAL (absent DUNE_SANDBOX env)
63           Sandboxing mode to use by default. Some actions require a certain
64           sandboxing mode, so they will ignore this setting. The allowed
65           values are: none, symlink, copy, hardlink.
66
67       -w, --watch
68           Instead of terminating build after completion, wait continuously
69           for file changes.
70
71       --wait-for-filesystem-clock
72           Dune digest file contents for better incrementally. These digests
73           are themselves cached. In some cases, Dune needs to drop some
74           digest cache entries in order for things to be reliable. This
75           option makes Dune wait for the file system clock to advance so that
76           it doesn't need to drop anything. You should probably not care
77           about this option; it is mostly useful for Dune developers to make
78           Dune tests of the digest cache more reproducible.
79

COMMON OPTIONS

81       These options are common to all commands.
82
83       --always-show-command-line
84           Always show the full command lines of programs executed by dune
85
86       --auto-promote
87           Automatically promote files. This is similar to running dune
88           promote after the build.
89
90       --build-dir=FILE (absent DUNE_BUILD_DIR env)
91           Specified build directory. _build if unspecified
92
93       --cache=VAL (absent DUNE_CACHE env)
94           Enable or disable Dune cache (either enabled or disabled). Default
95           is `disabled'.
96
97       --cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
98           Check build reproducibility by re-executing randomly chosen rules
99           and comparing their results with those stored in Dune cache. Note:
100           by increasing the probability of such checks you slow down the
101           build. The default probability is zero, i.e. no rules are checked.
102
103       --cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
104           Dune cache storage mode (one of auto, hardlink or copy). Default is
105           `auto'.
106
107       --config-file=FILE
108           Load this configuration file instead of the default one.
109
110       --debug-artifact-substitution
111           Print debugging info about artifact substitution
112
113       --debug-backtraces
114           Always print exception backtraces.
115
116       --debug-cache=VAL
117           Show debug messages on cache misses for the given cache layers.
118           Value is a comma-separated list of cache layer names. All available
119           cache layers: shared,workspace-local,fs.
120
121       --debug-dependency-path
122           In case of error, print the dependency path from the targets on the
123           command line to the rule that failed.
124
125       --debug-digests
126           Explain why Dune decides to re-digest some files
127
128       --debug-load-dir
129           Print debugging info about directory loading
130
131       --debug-store-digest-preimage
132           Store digest preimage for all computed digests, so that it's
133           possible to reverse them later, for debugging. The digests are
134           stored in the shared cache (see --cache flag) as values, even if
135           cache is otherwise disabled. This should be used only for
136           debugging, since it's slow and it litters the shared cache.
137
138       --default-target=TARGET (absent=@@default)
139           Set the default target that when none is specified to dune build.
140
141       --diff-command=VAL (absent DUNE_DIFF_COMMAND env)
142           Shell command to use to diff files. Use - to disable printing the
143           diff.
144
145       --disable-promotion (absent DUNE_DISABLE_PROMOTION env)
146           Disable all promotion rules
147
148       --display=MODE
149           Control the display mode of Dune. See dune-config(5) for more
150           details. Valid values for this option are progress, verbose, short,
151           quiet or tui.
152
153       --dump-gc-stats=FILE
154           Dump the garbage collector stats to a file after the build is
155           complete.
156
157       --dump-memo-graph=FILE
158           Dumps the dependency graph to a file after the build is complete
159
160       --dump-memo-graph-format=FORMAT (absent=gexf)
161           File format to be used when dumping dependency graph
162
163       --dump-memo-graph-with-timing
164           With --dump-memo-graph, will re-run each cached node in the Memo
165           graph after building and include the runtime in the output. Since
166           all nodes contain a cached value, this will measure just the
167           runtime of each node
168
169       --help[=FMT] (default=auto)
170           Show this help in format FMT. The value FMT must be one of auto,
171           pager, groff or plain. With auto, the format is pager or plain
172           whenever the TERM env var is dumb or undefined.
173
174       --ignore-promoted-rules
175           Ignore rules with (mode promote), except ones with (only ...). The
176           variable %{ignoring_promoted_rules} in dune files reflects whether
177           this option was passed or not.
178
179       --instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
180           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
181           list of library names, each one of which must declare an
182           instrumentation backend.
183
184       -j JOBS
185           Run no more than JOBS commands simultaneously.
186
187       --no-buffer
188           Do not buffer the output of commands executed by dune. By default
189           dune buffers the output of subcommands, in order to prevent
190           interleaving when multiple commands are executed in parallel.
191           However, this can be an issue when debugging long running tests.
192           With --no-buffer, commands have direct access to the terminal. Note
193           that as a result their output won't be captured in the log file.
194           You should use this option in conjunction with -j 1, to avoid
195           interleaving. Additionally you should use --verbose as well, to
196           make sure that commands are printed before they are being executed.
197
198       --no-config
199           Do not load the configuration file
200
201       --no-print-directory
202           Suppress "Entering directory" messages
203
204       --only-packages=PACKAGES
205           Ignore stanzas referring to a package that is not in PACKAGES.
206           PACKAGES is a comma-separated list of package names. Note that this
207           has the same effect as deleting the relevant stanzas from dune
208           files. It is mostly meant for releases. During development, it is
209           likely that what you want instead is to build a particular
210           <package>.install target.
211
212       -p PACKAGES, --for-release-of-packages=PACKAGES (required)
213           Shorthand for --release --only-packages PACKAGE. You must use this
214           option in your <package>.opam files, in order to build only what's
215           necessary when your project contains multiple packages as well as
216           getting reproducible builds.
217
218       --print-metrics
219           Print out various performance metrics after every build
220
221       --profile=VAL (absent DUNE_PROFILE env)
222           Select the build profile, for instance dev or release. The default
223           is dev.
224
225       --promote-install-files[=VAL] (default=true)
226           Promote the generated <package>.install files to the source tree
227
228       --release
229           Put dune into a reproducible release mode. This is in fact a
230           shorthand for --root . --ignore-promoted-rules --no-config
231           --profile release --always-show-command-line
232           --promote-install-files --default-target @install
233           --require-dune-project-file. You should use this option for release
234           builds. For instance, you must use this option in your
235           <package>.opam files. Except if you already use -p, as -p implies
236           this option.
237
238       --require-dune-project-file[=VAL] (default=true)
239           Fail if a dune-project file is missing.
240
241       --root=DIR
242           Use this directory as workspace root instead of guessing it. Note
243           that this option doesn't change the interpretation of targets given
244           on the command line. It is only intended for scripts.
245
246       --store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
247           Store original source location in dune-package metadata
248
249       --terminal-persistence=MODE
250           Changes how the log of build results are displayed to the console
251           between rebuilds while in --watch mode. Supported modes: preserve,
252           clear-on-rebuild, clear-on-rebuild-and-flush-history.
253
254       --trace-extended
255           Output extended trace data (requires trace-file)
256
257       --trace-file=FILE
258           Output trace data in catapult format (compatible with
259           chrome://tracing)
260
261       --verbose
262           Same as --display verbose
263
264       --version
265           Show version information.
266
267       --watch-exclusions=REGEX
268           Adds a POSIX regular expression that will exclude matching
269           directories from `dune build --watch`. The option
270           --watch-exclusions can be repeated to add multiple exclusions.
271           Semicolons can be also used as a separator. If no exclusions are
272           provided, then a standard set of exclusions is used; however, if
273           one or more --watch-exclusions are used, none of the standard
274           exclusions are used. The standard exclusions are: ^_opam /_opam
275           ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$
276           /.git /.hg :/windows
277
278       --workspace=FILE (absent DUNE_WORKSPACE env)
279           Use this specific workspace file instead of looking it up.
280
281       -x VAL
282           Cross-compile using this toolchain.
283

MORE HELP

285       Use `dune COMMAND --help' for help on a single command.
286

EXIT STATUS

288       test exits with the following status:
289
290       0   on success.
291
292       1   if an error happened.
293
294       130 if it was interrupted by a signal.
295

ENVIRONMENT

297       These environment variables affect the execution of test:
298
299       DUNE_BUILD_DIR
300           Specified build directory. _build if unspecified
301
302       DUNE_CACHE
303           Enable or disable Dune cache (either enabled or disabled). Default
304           is `disabled'.
305
306       DUNE_CACHE_CHECK_PROBABILITY
307           Check build reproducibility by re-executing randomly chosen rules
308           and comparing their results with those stored in Dune cache. Note:
309           by increasing the probability of such checks you slow down the
310           build. The default probability is zero, i.e. no rules are checked.
311
312       DUNE_CACHE_STORAGE_MODE
313           Dune cache storage mode (one of auto, hardlink or copy). Default is
314           `auto'.
315
316       DUNE_DIFF_COMMAND
317           Shell command to use to diff files. Use - to disable printing the
318           diff.
319
320       DUNE_DISABLE_PROMOTION
321           Disable all promotion rules
322
323       DUNE_INSTRUMENT_WITH
324           "Enable instrumentation by BACKENDS. BACKENDS is a comma-separated
325           list of library names, each one of which must declare an
326           instrumentation backend.
327
328       DUNE_PROFILE
329           Build profile. dev if unspecified or release if -p is set.
330
331       DUNE_SANDBOX
332           Sandboxing mode to use by default. (see --sandbox)
333
334       DUNE_STORE_ORIG_SOURCE_DIR
335           Store original source location in dune-package metadata
336
337       DUNE_WORKSPACE
338           Use this specific workspace file instead of looking it up.
339

BUGS

341       Check bug reports at https://github.com/ocaml/dune/issues
342

SEE ALSO

344       dune(1)
345
346
347
348Dune n/a                                                          DUNE-TEST(1)
Impressum