1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#!/usr/bin/env python3
# Copyright 2022 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
Test functionality used by the fuzzer test processor.
"""
import os
import sys
import unittest
# Needed because the test runner contains relative imports.
TOOLS_PATH = os.path.dirname(
os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(TOOLS_PATH)
from testrunner.testproc import fuzzer
class TestFuzzerProcHelpers(unittest.TestCase):
def test_invert_flag(self):
self.assertEqual(fuzzer._invert_flag('--no-flag'), '--flag')
self.assertEqual(fuzzer._invert_flag('--flag'), '--no-flag')
def test_flag_prefix(self):
self.assertEqual(fuzzer._flag_prefix('--flag'), '--flag')
self.assertEqual(fuzzer._flag_prefix('--flag=42'), '--flag')
def test_contradictory_flags(self):
def check(new_flags, old_flags, expected_flags):
actual = fuzzer._drop_contradictory_flags(new_flags, old_flags)
self.assertEqual(actual, expected_flags)
old_flags = ['--foo-bar', '--no-bar', '--baz', '--doom-melon=42', '--flag']
check([], old_flags, [])
check(['--flag', '--no-baz', '--bar'], old_flags, [])
check(['--foo-bar=42', '--doom-melon=0'], old_flags, [])
check(['--flag', '--something', '--bar'], old_flags, ['--something'])
check(['--something', '--doom-melon=0'], old_flags, ['--something'])
check(old_flags, old_flags, [])
check(['--a', '--b'], old_flags, ['--a', '--b'])
old_flags = []
check(['--flag', '--no-baz'], old_flags, ['--flag', '--no-baz'])
if __name__ == '__main__':
unittest.main()
|