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.
−−compiler−status=VALUE
The expected status code of the compiler run
−−compiler−regex=VALUE
A regular expression used to match against the compiler output
−−linker−status=VALUE
The expected status code of the linker run
−−linker−regex=VALUE
A regular expression used to match against the linker output
−−program−status=VALUE
The expected status code of the built executable
−−program−regex=VALUE
A regular expression used to match against the program output
−−test−package=VALUE
Perform a test run - usually only used internally
−−combined
Builds multiple packages with one compiler run
−−no−redirect
Don’t redirect stdout/stderr streams of the test command
−−strategy=VALUE
Set strategy (careful/lookback/pingpong/indepth/inbreadth)
−j
Set number of look-ahead processes
−−trace
Save all attempted reductions to DIR.trace
−b, −−build=VALUE
Specifies the type of build to
perform. Note that setting the DFLAGS environment variable
will override the build type with custom flags. Possible
names:
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
−c, −−config=VALUE
Builds the specified configuration. Configurations can be defined in dub.json
−−override−config=VALUE
Uses the specified configuration for a certain dependency. Can be specified multiple times. Format: --override-config=<dependency>/<config>
−−compiler=VALUE
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
−a, −−arch=VALUE
Force a different architecture (e.g. x86 or x86_64)
−d, −−debug=VALUE
Define the specified debug version identifier when building - can be used multiple times
−−nodeps
Do not resolve missing dependencies before building
−−build−mode=VALUE
Specifies the way the compiler
and linker are invoked. Valid values:
separate (default), allAtOnce, singleFile
−−single
Treats the package name as a filename. The file must contain a package recipe comment.
−−force−remove
Deprecated option that does nothing.
−−filter−versions
[Experimental] Filter version identifiers and debug version identifiers to improve build cache efficiency.
Forwards the exit code from dustmite(1)
dub.sdl, dub.json
Copyright (c) 1999-2022 by The D Language Foundation
http://code.dlang.org/docs/commandline
dub(1), dub-lint(1), dub-test(1), dustmite(1)