diff options
| author | Paul Chaignon <paul.chaignon@gmail.com> | 2023-10-06 17:43:01 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-10-09 10:22:31 +0000 |
| commit | 77f31e1f821f48a72259fdbd9d285d1ce16956f5 (patch) | |
| tree | b05ba6bb8ea808979df3bcf6a03378566290e436 /prog/resources_test.go | |
| parent | 7236594a2c63f3be360ed0a3feb63b4621530e27 (diff) | |
prog: test optional input resources are skipped
This commit adds a unit test for getInputResources, to verify in
particular that it doesn't return input resources that are optional.
Note we can't test the built-in "optional[]" because that relies on
unions and those aren't supported yet.
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Diffstat (limited to 'prog/resources_test.go')
| -rw-r--r-- | prog/resources_test.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/prog/resources_test.go b/prog/resources_test.go index f0ba81adf..8db8dbd17 100644 --- a/prog/resources_test.go +++ b/prog/resources_test.go @@ -98,6 +98,32 @@ func TestTransitivelyEnabledCallsLinux(t *testing.T) { } } +func TestGetInputResources(t *testing.T) { + expectedRequiredResources := map[string]bool{ + "required_res1": false, + } + + t.Parallel() + target, err := GetTarget("test", "64") + if err != nil { + t.Fatal(err) + } + + resources := target.getInputResources(target.SyscallMap["test$optional_res"]) + for _, resource := range resources { + if _, ok := expectedRequiredResources[resource.Name]; ok { + expectedRequiredResources[resource.Name] = true + } else { + t.Fatalf(" unexpected %v", resource.Name) + } + } + for expectedRes, found := range expectedRequiredResources { + if !found { + t.Fatalf(" missing %v", expectedRes) + } + } +} + func TestClockGettime(t *testing.T) { t.Parallel() target, err := GetTarget("linux", "amd64") |
