diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-08-09T04·27-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-08-09T17·26+0000 |
commit | d1653533a6f6f70d1d95001abf3f80665ba135e7 (patch) | |
tree | 35c29ccb38f404848eec2969862c6bd0f0671b43 /third_party/nix/src/libutil/hash.hh | |
parent | dfab786653c24b11a8e9338df29c22fd7a0c4959 (diff) |
test(tvix): Cover scanForReferences in a test r/1627
Aded a few test cases covering the scanForReferences function, which had been accidentally broken in 976a36c (which is now partially-reverted). As part of this, since the test needed to generate hashes for store paths, the logic in MakeStorePath to compress a sha256 hash down to 20 bytes and convert it to base32 has been extracted to a member function on the Hash class. Fixes: #34 Change-Id: Ie2d914688a80f42d0234d351a7cc0714fd15709e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1698 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
Diffstat (limited to 'third_party/nix/src/libutil/hash.hh')
-rw-r--r-- | third_party/nix/src/libutil/hash.hh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/third_party/nix/src/libutil/hash.hh b/third_party/nix/src/libutil/hash.hh index 4d52702aee75..6fbeec5b47fb 100644 --- a/third_party/nix/src/libutil/hash.hh +++ b/third_party/nix/src/libutil/hash.hh @@ -8,6 +8,9 @@ namespace nix { +// Size of the hashes rendered in store paths, in bytes +constexpr unsigned int kStorePathHashSize = 20; + MakeError(BadHash, Error); // TODO(grfn): Replace this with the hash type enum from the daemon proto so we @@ -90,6 +93,9 @@ struct Hash { /* Returns whether the passed string contains entirely valid base32 characters. */ static bool IsValidBase32(absl::string_view s); + + // Convert this Hash to the format expected in store paths + [[nodiscard]] std::string ToStorePathHash() const; }; /* Print a hash in base-16 if it's MD5, or base-32 otherwise. */ |