def setUp(self): self.setup_fake_filesystem() helpers.patch(self, [ 'clusterfuzz.common.ask', 'clusterfuzz.binary_providers.check_gclient_managed' ]) self.source_dir = '~/chromium/src'
def setUp(self): helpers.patch(self, ['clusterfuzz.binary_providers.sha_from_revision']) self.mock_os_environment({'V8_SRC': '/source/dir'}) testcase = mock.Mock(id=1234, build_url='', revision=54321) definition = mock.Mock(source_var='V8_SRC') self.builder = binary_providers.V8Builder( testcase, definition, libs.make_options(testcase_id=testcase.id))
def setUp(self): helpers.patch(self, [ 'clusterfuzz.testcase.get_command_line_file_path', 'clusterfuzz.testcase.get_environment_sections', 'clusterfuzz.testcase.get_file_contents_for_android', 'clusterfuzz.testcase.get_package_and_main_class_names', ])
def setUp(self): helpers.patch(self, [ 'clusterfuzz.binary_providers.GenericBuilder.get_source_dir_path', ]) self.builder = binary_providers.GenericBuilder( libs.make_testcase(testcase_id='1234', revision='999'), libs.make_definition(), libs.make_options(current=False))
def setUp(self): self.mock_os_environment({'USER': '******'}) helpers.patch(self, [ 'clusterfuzz.stackdriver_logging.ServiceAccountCredentials', 'httplib2.Http', 'clusterfuzz.stackdriver_logging.get_session_id', ])
def setUp(self): helpers.patch(self, ['daemon.process.call']) self.result = yaml.dump({ 'chromium': ['chrome_job', 'libfuzzer_job'], 'standalone': ['pdf_job', 'v8_job'], 'Version': '0.2.2rc11'}) self.mock.call.return_value = (0, self.result)
def setUp(self): helpers.patch(self, [ 'clusterfuzz.common.get_stored_auth_header', 'clusterfuzz.common.store_auth_header', 'clusterfuzz.commands.reproduce.get_verification_header', 'clusterfuzz.common.post', 'time.sleep' ])
def setUp(self): self.suppress_logging_methods() self.chrome_src = '/usr/local/google/home/user/repos/chromium/src' self.mock_os_environment({'V8_SRC': '/v8/src', 'CHROME_SRC': '/pdf/src'}) helpers.patch(self, [ 'clusterfuzz.common.ensure_important_dirs', 'clusterfuzz.commands.reproduce.create_builder_class', 'clusterfuzz.commands.reproduce.get_definition', 'clusterfuzz.commands.reproduce.get_testcase_and_identity', 'clusterfuzz.testcase.Testcase.get_testcase_path', ]) self.builder = mock.Mock(symbolizer_path='/path/to/symbolizer') self.reproducer = mock.Mock() self.definition = mock.Mock() self.definition.reproducer.return_value = self.reproducer self.mock.get_definition.return_value = self.definition self.mock.create_builder_class.return_value = self.builder self.testcase = mock.Mock( id='1234', build_url='chrome_build_url', revision=123456, job_type='linux_asan_d8', reproducible=True, reproduction_args='--always-opt', platform='linux') self.mock.get_testcase_and_identity.return_value = ( self.testcase, 'identity@something') self.options = libs.make_options( testcase_id=str(self.testcase.id), extra_log_params={ 'identity': 'identity@something', 'job_type': self.testcase.job_type, 'platform': self.testcase.platform, 'reproducible': self.testcase.reproducible } )
def setUp(self): helpers.patch(self, [ 'daemon.main.build_master_and_get_version', 'daemon.main.get_binary_version' ]) self.mock.build_master_and_get_version.return_value = 'vmaster' self.mock.get_binary_version.return_value = 'vbinary'
def setUp(self): helpers.patch( self, ['clusterfuzz.common.execute', 'clusterfuzz.common.BlockStdin']) patch_stacktrace_info(self) self.reproducer = create_reproducer( reproducers.LinuxChromeJobReproducer)
def setUp(self): self.setup_fake_filesystem() helpers.patch(self, [ 'logging.config.dictConfig', 'logging.getLogger', 'logging.handlers.RotatingFileHandler.doRollover' ])
def setUp(self): helpers.patch(self, [ 'clusterfuzz.common.edit_if_needed', 'clusterfuzz.reproducers.LinuxChromeJobReproducer.get_testcase_path', 'clusterfuzz.reproducers.update_for_gdb_if_needed', ]) self.testcase = mock.Mock( id=1234, reproduction_args='--repro', environment={'ASAN_OPTIONS': 'test-asan'}, gestures=None, stacktrace_lines=[{ 'content': 'line' }], job_type='job_type') self.testcase_path = os.path.expanduser( os.path.join('~', '.clusterfuzz', '1234_testcase', 'testcase.js')) self.mock.get_testcase_path.return_value = self.testcase_path self.provider = mock.Mock( symbolizer_path='/chrome/source/folder/llvm-symbolizer') self.provider.get_binary_path.return_value = '/chrome/source/folder/d8' self.provider.get_build_dir_path.return_value = '/chrome/source/folder' self.definition = mock.Mock() self.mock.update_for_gdb_if_needed.side_effect = ( lambda binary_path, args, timeout, should_enable_gdb: (binary_path, args, timeout) ) self.mock.edit_if_needed.side_effect = ( lambda content, prefix, comment, should_edit: content)
def setUp(self): self.setup_fake_filesystem() helpers.patch(self, [ 'clusterfuzz.binary_providers.GenericBuilder.gclient_sync', 'clusterfuzz.binary_providers.GenericBuilder.gclient_runhooks', 'clusterfuzz.binary_providers.GenericBuilder.install_deps', ])
def setUp(self): helpers.patch(self, [ 'clusterfuzz.binary_providers.GenericBuilder.get_source_dir_path' ]) self.builder = binary_providers.GenericBuilder( libs.make_testcase(), libs.make_definition(source_name='something'), libs.make_options())
def setUp(self): helpers.patch(self, ['clusterfuzz.commands.reproduce.get_supported_jobs']) self.v8_definition = mock.Mock() self.chromium_definition = mock.Mock() self.mock.get_supported_jobs.return_value = { 'chromium': {'libfuzzer_chrome_msan': self.chromium_definition}, 'standalone': {'linux_asan_d8': self.v8_definition} }
def setUp(self): helpers.patch(self, [ 'clusterfuzz.binary_providers.sha_from_revision', 'clusterfuzz.binary_providers.get_third_party_sha' ]) self.builder = binary_providers.PdfiumBuilder( libs.make_testcase(revision=1234), libs.make_definition(), libs.make_options())
def setUp(self): helpers.patch(self, [ 'clusterfuzz.common.execute', 'clusterfuzz.binary_providers.GenericBuilder.get_source_dir_path', ]) self.builder = binary_providers.GenericBuilder(libs.make_testcase(), libs.make_definition(), libs.make_options())
def setUp(self): helpers.patch(self, ['time.sleep', 'os.killpg']) self.proc = mock.Mock() self.proc.args = 'cmd' self.proc.pid = 1234 self.no_process_error = OSError() self.no_process_error.errno = common.NO_SUCH_PROCESS_ERRNO
def setUp(self): helpers.patch(self, [ 'clusterfuzz.reproducers.LinuxChromeJobReproducer.xdotool_command' ]) patch_stacktrace_info(self) self.reproducer = create_reproducer( reproducers.LinuxChromeJobReproducer) self.reproducer.gestures = ['windowsize,2', 'type,\'ValeM1khbW4Gt!\'']
def setUp(self): helpers.patch(self, [ 'clusterfuzz.reproducers.LinuxChromeJobReproducer.get_process_ids', 'clusterfuzz.common.execute', 'time.sleep' ]) patch_stacktrace_info(self) self.reproducer = create_reproducer( reproducers.LinuxChromeJobReproducer)
def test_raise_from_key_error(self): """Tests that a BadJobTypeDefinition error is raised when parsing fails.""" helpers.patch(self, ['clusterfuzz.commands.reproduce.build_definition']) self.mock.build_definition.side_effect = KeyError with self.assertRaises(error.BadJobTypeDefinitionError): reproduce.get_supported_jobs()
def setUp(self): self.reproducer = create_reproducer(reproducers.LinuxChromeJobReproducer) helpers.patch(self, [ 'clusterfuzz.reproducers.LinuxChromeJobReproducer.reproduce_debug', 'clusterfuzz.reproducers.LinuxChromeJobReproducer.reproduce_normal', 'clusterfuzz.reproducers.LinuxChromeJobReproducer.pre_build_steps', ]) self.mock.reproduce_debug.return_value = True self.mock.reproduce_normal.return_value = True
def setUp(self): helpers.patch(self, [ 'clusterfuzz.binary_providers.ChromiumBuilder.get_gn_args', 'clusterfuzz.binary_providers.ChromiumBuilder.get_source_dir_path', 'clusterfuzz.binary_providers.ChromiumBuilder.gclient_runhooks', 'clusterfuzz.binary_providers.gclient_runhooks_msan', ]) self.builder = binary_providers.MsanChromiumBuilder( libs.make_testcase(), libs.make_definition(), libs.make_options())
def setUp(self): helpers.patch(self, [ 'clusterfuzz.binary_providers.install_build_deps', 'clusterfuzz.binary_providers.ChromiumBuilder.get_source_dir_path', 'clusterfuzz.binary_providers.ChromiumBuilder.install_deps', ]) self.mock.get_source_dir_path.return_value = '/chrome/src' self.builder = binary_providers.ChromiumBuilder32Bit( libs.make_testcase(), libs.make_definition(), libs.make_options())
def setUp(self): helpers.patch(self, ['os.dup', 'os.open', 'os.close', 'os.dup2']) def dup(number): if number == 1: return 'out' elif number == 2: return 'err' self.mock.dup.side_effect = dup
def setUp(self): helpers.patch(self, [ 'clusterfuzz.common.delete_if_exists', 'clusterfuzz.testcase.get_true_testcase_path', 'clusterfuzz.testcase.download_testcase', 'os.makedirs' ]) self.test = build_base_testcase() self.testcase_dir = os.path.join(common.CLUSTERFUZZ_TESTCASES_DIR, '12345_testcase')
def setUp(self): self.setup_fake_filesystem() helpers.patch(self, [ 'clusterfuzz.common.execute', 'clusterfuzz.common.get_resource', 'clusterfuzz.common.StringStdin', ]) self.mock.get_resource.return_value = 'asan_sym_proxy.py' self.mock.execute.return_value = (0, 'symbolized')
def test_get_unstripped_lib_dir_path(self): """Tests get_unstripped_lib_dir_path.""" helpers.patch(self, [ 'clusterfuzz.binary_providers.DownloadedBinary.get_build_dir_path' ]) self.mock.get_build_dir_path.return_value = 'build/test' self.assertEqual('build/test', self.provider.get_unstripped_lib_dir_path())
def setUp(self): helpers.patch(self, [ 'multiprocessing.cpu_count', 'clusterfuzz.binary_providers.sha_from_revision', 'clusterfuzz.common.get_source_directory', ]) self.testcase = mock.Mock(id=12345, build_url='', revision=4567) self.definition = mock.Mock(source_var='V8_SRC', binary_name='binary') self.mock.cpu_count.return_value = 64
def setUp(self): helpers.patch(self, [ 'clusterfuzz.common.find_file', 'shutil.move', 'zipfile.ZipFile', ]) self.mock.ZipFile.return_value = mock.Mock() self.absolute_path = 'to/testcase.js' self.testcase_dir_path = os.path.join( common.CLUSTERFUZZ_TESTCASES_DIR, '12345_testcase')