dub-dustmite − Create reduced test cases for build errors
dub dustmite <destination-path> OPTIONS... [-- <application arguments...>]
This command uses the Dustmite utility to isolate the cause of build errors in a DUB project.
It will create a copy of all involved packages and run dustmite on this copy, leaving a reduced test case.
Determining the desired error condition is done by checking the compiler/linker status code, as well as their output (stdout and stderr combined). If --program-status or --program-regex is given and the generated binary is an executable, it will be executed and its output will also be incorporated into the final decision.
The expected status code of the compiler run
A regular expression used to match against the compiler output
The expected status code of the linker run
A regular expression used to match against the linker output
The expected status code of the built executable
A regular expression used to match against the program output
Perform a test run - usually only used internally
Builds multiple packages with one compiler run
Don’t redirect stdout/stderr streams of the test command
Set strategy (careful/lookback/pingpong/indepth/inbreadth)
Set number of look-ahead processes
Save all attempted reductions to DIR.trace
Specifies the type of build to
perform. Note that setting the DFLAGS environment variable
will override the build type with custom flags. Possible
debug, plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, cov-ctfe, unittest-cov, unittest-cov-ctfe, syntax and custom types
Builds the specified configuration. Configurations can be defined in dub.json
Uses the specified configuration for a certain dependency. Can be specified multiple times. Format: --override-config=<dependency>/<config>
Specifies the compiler binary
to use (can be a path). Arbitrary pre- and suffixes to the
identifiers below are recognized (e.g. ldc2 or dmd-2.063)
and matched to the proper compiler type:
dmd, gdc, ldc, gdmd, ldmd
Force a different architecture (e.g. x86 or x86_64)
Define the specified debug version identifier when building - can be used multiple times
Do not resolve missing dependencies before building
Specifies the way the compiler
and linker are invoked. Valid values:
separate (default), allAtOnce, singleFile
Treats the package name as a filename. The file must contain a package recipe comment.
Deprecated option that does nothing.
[Experimental] Filter version identifiers and debug version identifiers to improve build cache efficiency.
Forwards the exit code from dustmite(1)
Copyright (c) 1999-2022 by The D Language Foundation
dub(1), dub-lint(1), dub-test(1), dustmite(1)