def setUp(self):
     self.setup_fake_filesystem()
     helpers.patch(self, [
         'clusterfuzz.common.ask',
         'clusterfuzz.binary_providers.check_gclient_managed'
     ])
     self.source_dir = '~/chromium/src'
Exemple #2
0
 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))
Exemple #3
0
 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))
Exemple #5
0
 def setUp(self):
     self.mock_os_environment({'USER': '******'})
     helpers.patch(self, [
         'clusterfuzz.stackdriver_logging.ServiceAccountCredentials',
         'httplib2.Http',
         'clusterfuzz.stackdriver_logging.get_session_id',
     ])
Exemple #6
0
 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'
Exemple #10
0
 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'
   ])
Exemple #12
0
 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
Exemple #19
0
 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!\'']
Exemple #20
0
 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()
Exemple #22
0
 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
Exemple #26
0
 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')
Exemple #27
0
 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())
Exemple #29
0
    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
Exemple #30
0
 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')