示例#1
0
    def setUp(self):
        os.environ['BUILD_DIR'] = DATA_DIRECTORY
        os.environ['FUZZ_INPUTS_DISK'] = TEMP_DIRECTORY
        os.environ['FAIL_RETRIES'] = '1'

        test_helpers.patch_environ(self)
        dont_use_strategies(self)

        # Make it easy to assert if things were logged.
        test_helpers.patch(self, [
            'metrics.logs.log', 'os.getpid',
            'bot.fuzzers.afl.launcher.rand_cmplog_level',
            'bot.fuzzers.afl.launcher.rand_schedule'
        ])
        self.mock.rand_cmplog_level.return_value = '2'
        self.mock.rand_schedule.return_value = 'fast'
        self.logged_messages = []

        def mocked_log(message, **kwargs):  # pylint: disable=unused-argument
            self.logged_messages.append(message)

        self.mock.log.side_effect = mocked_log
        self.mock.getpid.return_value = 1337

        clear_temp_dir()
        create_temp_dir()
示例#2
0
    def setUp(self):
        def get_data_path(filename, is_in_output=True):
            """Returns absolute path of data files used in unittests."""
            input_or_output_dir = 'output' if is_in_output else 'input'
            return os.path.join(self.data_dir, input_or_output_dir, filename)

        self.data_dir = os.path.join(
            os.path.abspath(os.path.dirname(__file__)), 'stats_data')
        self.fuzzer_stats_path = get_data_path('fuzzer_stats')
        self.fuzzer_stats_invalid_path = get_data_path('fuzzer_stats_invalid')
        self.dict_path = get_data_path('sample.dict', False)

        self.stats_getter = stats.StatsGetter(self.fuzzer_stats_path,
                                              self.dict_path)

        self.stats_getter.set_afl_stats()
        dont_use_strategies(self)
        self.strategies = launcher.FuzzingStrategies()

        self.maxDiff = None  # pylint: disable=invalid-name