From 6ba5fe3e62880ddf8aeec68ab44eabaa8bc148b8 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 30 Aug 2018 13:02:07 -0700 Subject: sys/openbsd: disable mknod sanitization as tests fail TestSerializeDeserializeRandom fails from time to time because program is different after we serialize/deserialize it. Turns out openbsd SanitizeCall is not idempotent. Add a test for this and disable the logic for now. --- prog/prog_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'prog') diff --git a/prog/prog_test.go b/prog/prog_test.go index 967b93210..29b4d385e 100644 --- a/prog/prog_test.go +++ b/prog/prog_test.go @@ -397,3 +397,19 @@ fallback$0() }) } } + +func TestSanitizeRandom(t *testing.T) { + testEachTargetRandom(t, func(t *testing.T, target *Target, rs rand.Source, iters int) { + for i := 0; i < iters; i++ { + p := target.Generate(rs, 10, nil) + s0 := string(p.Serialize()) + for _, c := range p.Calls { + target.SanitizeCall(c) + } + s1 := string(p.Serialize()) + if s0 != s1 { + t.Fatalf("non-sanitized program or non-idempotent sanitize\nwas: %v\ngot: %v", s0, s1) + } + } + }) +} -- cgit mrf-deployment