def test_valid_project_example(self): """Test if sanitizers can be detected from project.yaml""" self.fs.add_real_directory(OSS_FUZZ_DIR) self.assertFalse(cifuzz.is_project_sanitizer('memory', 'example')) self.assertTrue(cifuzz.is_project_sanitizer('address', 'example')) self.assertTrue(cifuzz.is_project_sanitizer('undefined', 'example')) self.assertFalse(cifuzz.is_project_sanitizer('not-a-san', 'example'))
def test_no_specified_sanitizers(self): """Tests is_project_sanitizer returns True for any fuzzer if non are specified.""" contents = 'homepage: "https://my-api.example.com' self.fs.create_file(self.project_yaml, contents=contents) self.assertTrue( cifuzz.is_project_sanitizer('address', self.fake_project)) self.assertTrue( cifuzz.is_project_sanitizer('undefined', self.fake_project)) self.assertFalse( cifuzz.is_project_sanitizer('memory', self.fake_project)) self.assertFalse(cifuzz.is_project_sanitizer('fake', self.fake_project))
def test_experimental_sanitizer(self): """Tests that experimental sanitizers are handled properly.""" contents = ('homepage: "https://my-api.example.com\n' 'sanitizers:\n' 'memory:\n' 'experimental: True\n' '- address') self.fs.create_file(self.project_yaml, contents=contents) self.assertTrue( cifuzz.is_project_sanitizer('address', self.fake_project)) self.assertFalse( cifuzz.is_project_sanitizer('undefined', self.fake_project)) self.assertTrue( cifuzz.is_project_sanitizer('memory', self.fake_project))
def test_invalid_project(self): """Tests that invalid projects return false.""" self.fs.add_real_directory(OSS_FUZZ_DIR) self.assertFalse(cifuzz.is_project_sanitizer('memory', 'notaproj')) self.assertFalse(cifuzz.is_project_sanitizer('address', 'notaproj')) self.assertFalse(cifuzz.is_project_sanitizer('undefined', 'notaproj'))
def test_valid_project_curl(self): """Test if sanitizers can be detected from project.yaml""" self.assertTrue(cifuzz.is_project_sanitizer('memory', 'curl')) self.assertTrue(cifuzz.is_project_sanitizer('address', 'curl')) self.assertTrue(cifuzz.is_project_sanitizer('undefined', 'curl')) self.assertFalse(cifuzz.is_project_sanitizer('not-a-san', 'curl'))