feat(tvix/store): add simple integration test
This imports the docs folder into the tvix store, and ensures it comes
up with the same store path as Nix.
While we validate hashes in general through tvix-cli output path checks
already, it doesn't include the tvix-store CLI itself.
See 339f0720
_524f0104/
for context.
Change-Id: I239ce5b6a07cb962b242142ab716693359b8674c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9338
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
This commit is contained in:
parent
32f2f8b618
commit
3816eaa5e9
1 changed files with 29 additions and 3 deletions
|
@ -1,5 +1,31 @@
|
||||||
{ depot, ... }:
|
{ depot, pkgs, ... }:
|
||||||
|
|
||||||
depot.tvix.crates.workspaceMembers.tvix-store.build.override {
|
let
|
||||||
|
mkImportCheck = p: expectedPath: {
|
||||||
|
label = ":nix :import ${p} with tvix-store import";
|
||||||
|
needsOutput = true;
|
||||||
|
command = pkgs.writeShellScript "tvix-import-check" ''
|
||||||
|
export BLOB_SERVICE_ADDR=memory://
|
||||||
|
export DIRECTORY_SERVICE_ADDR=memory://
|
||||||
|
export PATH_INFO_SERVICE_ADDR=memory://
|
||||||
|
TVIX_STORE_OUTPUT=$(result/bin/tvix-store import ${p})
|
||||||
|
EXPECTED='${/* the vebatim expected Tvix output: */expectedPath}'
|
||||||
|
|
||||||
|
echo "tvix-store output: ''${TVIX_STORE_OUTPUT}"
|
||||||
|
if [ "$TVIX_STORE_OUTPUT" != "$EXPECTED" ]; then
|
||||||
|
echo "Correct would have been ''${EXPECTED}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Output was correct."
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
(depot.tvix.crates.workspaceMembers.tvix-store.build.override {
|
||||||
runTests = true;
|
runTests = true;
|
||||||
}
|
}).overrideAttrs (_: {
|
||||||
|
meta.ci.extraSteps = {
|
||||||
|
import-docs = (mkImportCheck "tvix/store/docs" ./docs);
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue