diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2016-12-07T12·16+0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2016-12-07T12·16+0100 |
commit | 8bdf83f936adae6f2c907a6d2541e80d4120f051 (patch) | |
tree | 17b49383bec8578c307ed3e47fe27db24c3f4171 /src/libstore/store-api.hh | |
parent | ceeedb58d23950f0ae3944484bca331e5cbb8053 (diff) |
Add an option to make non-determinism non-fatal
That is, when build-repeat > 0, and the output of two rounds differ, then print a warning rather than fail the build. This is primarily to let Hydra check reproducibility of all packages.
Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r-- | src/libstore/store-api.hh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh index 2ea74d90e78e..ee2b6b2862b6 100644 --- a/src/libstore/store-api.hh +++ b/src/libstore/store-api.hh @@ -208,7 +208,18 @@ struct BuildResult NotDeterministic, } status = MiscFailure; std::string errorMsg; + + /* How many times this build was performed. */ + unsigned int timesBuilt = 0; + + /* If timesBuilt > 1, whether some builds did not produce the same + result. (Note that 'isNonDeterministic = false' does not mean + the build is deterministic, just that we don't have evidence of + non-determinism.) */ + bool isNonDeterministic = false; + //time_t startTime = 0, stopTime = 0; + bool success() { return status == Built || status == Substituted || status == AlreadyValid; } |