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
- -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
Uses the specified configuration for a certain dependency. Can be specified multiple times.
- 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
- 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
Created: August 5, 2022