fix: allow snapshots to use actualDrv aswell

This commit is contained in:
technofab 2025-05-04 01:11:20 +02:00
parent 482f15c486
commit abac8aaf3e
3 changed files with 21 additions and 11 deletions

View file

@ -88,8 +88,17 @@ func runTest(spec TestSpec) TestResult {
var actual any
var expected any
if spec.Type == "snapshot" {
if spec.ActualDrv != "" {
var err error
actual, err = buildAndParse(spec.ActualDrv)
if err != nil {
result.Error = fmt.Sprintf("[system] failed to parse drv output: %v", err.Error())
goto end
}
} else {
actual = spec.Actual
}
if spec.Type == "snapshot" {
filePath := path.Join(
*snapshotDir,
fmt.Sprintf("%s.snap.json", strings.ToLower(spec.Name)),
@ -111,16 +120,6 @@ func runTest(spec TestSpec) TestResult {
goto end
}
} else if spec.Type == "unit" {
if spec.ActualDrv != "" {
var err error
actual, err = buildAndParse(spec.ActualDrv)
if err != nil {
result.Error = fmt.Sprintf("[system] failed to parse drv output: %v", err.Error())
goto end
}
} else {
actual = spec.Actual
}
expected = spec.Expected
} else {
log.Panic().Str("type", spec.Type).Msg("Invalid test type")

View file

@ -52,6 +52,7 @@
}
{
name = "fail";
pos = __curPos;
expected = 0;
actual = "meow";
}
@ -61,11 +62,20 @@
pos = __curPos;
actual = "test";
}
{
name = "test-snapshot-drv";
type = "snapshot";
pos = __curPos;
actualDrv = pkgs.runCommand "test-snapshot" {} ''
echo '"snapshot drv"' > $out
'';
}
];
"other-suite" = [
{
name = "obj-snapshot";
type = "snapshot";
pos = __curPos;
actual = {hello = "world";};
}
{

View file

@ -0,0 +1 @@
"snapshot drv"