* It is tough to contribute to a project that doesn't use a formatter, * It is extra hard to contribute to a project which has configured the formatter, but ignores it for some files * Code formatting makes it harder to hide obscure / weird bugs by accident or on purpose, Let's rip the bandaid off? Note that PRs currently in flight should be able to be merged relatively easily by applying `clang-format` to their tip prior to merge.
26 lines
590 B
C++
26 lines
590 B
C++
#include <regex>
|
|
|
|
#include <rapidcheck.h>
|
|
|
|
#include "nix/util/hash.hh"
|
|
|
|
#include "nix/util/tests/hash.hh"
|
|
|
|
namespace rc {
|
|
using namespace nix;
|
|
|
|
Gen<Hash> Arbitrary<Hash>::arbitrary()
|
|
{
|
|
Hash prototype(HashAlgorithm::SHA1);
|
|
return gen::apply(
|
|
[](const std::vector<uint8_t> & v) {
|
|
Hash hash(HashAlgorithm::SHA1);
|
|
assert(v.size() == hash.hashSize);
|
|
std::copy(v.begin(), v.end(), hash.hash);
|
|
return hash;
|
|
},
|
|
gen::container<std::vector<uint8_t>>(prototype.hashSize, gen::arbitrary<uint8_t>()));
|
|
}
|
|
|
|
} // namespace rc
|