Example #1
0
    def test_copy_debug_copies_binaries(self):
        """
        Test that CopyDebug copies binaries as well on Windows.
        """
        test_file = os.path.join(self.test_dir, 'foo.dll')
        write_dll(test_file)
        code_file = 'foo.dll'
        code_id = 'abc123'
        self.stdouts.append(
            mock_dump_syms('X' * 33, 'foo.pdb',
                           ['INFO CODE_ID %s %s' % (code_id, code_file)]))

        def mock_compress(args, **kwargs):
            filename = args[-1]
            open(filename, 'w').write('stuff')
            return 0

        self.mock_call.side_effect = mock_compress
        d = symbolstore.Dumper_Win32(dump_syms='dump_syms',
                                     symbol_path=self.symbol_dir,
                                     copy_debug=True)
        d.Process(test_file)
        self.assertTrue(
            os.path.isfile(
                os.path.join(self.symbol_dir, code_file, code_id,
                             code_file[:-1] + '_')))
Example #2
0
    def test_copy_debug_copies_binaries(self):
        """
        Test that CopyDebug copies binaries as well on Windows.
        """
        test_file = os.path.join(self.test_dir, "foo.dll")
        write_dll(test_file)
        code_file = "foo.dll"
        code_id = "abc123"
        self.stdouts.append(
            mock_dump_syms("X" * 33, "foo.pdb",
                           ["INFO CODE_ID %s %s" % (code_id, code_file)]))

        def mock_compress(args, **kwargs):
            filename = args[-1]
            open(filename, "w").write("stuff")
            return 0

        self.mock_call.side_effect = mock_compress
        d = symbolstore.Dumper_Win32(dump_syms="dump_syms",
                                     symbol_path=self.symbol_dir,
                                     copy_debug=True)
        d.Process(test_file)
        self.assertTrue(
            os.path.isfile(
                os.path.join(self.symbol_dir, code_file, code_id, code_file)))
 def test_fix_filename_case(self):
     # self.test_dir is going to be 8.3 paths...
     junk = os.path.join(self.test_dir, 'x')
     with open(junk, 'wb') as o:
         o.write('x')
     d = symbolstore.Dumper_Win32(dump_syms='dump_syms',
                                  symbol_path=self.test_dir)
     fixed_dir = os.path.dirname(d.FixFilenameCase(junk))
     files = [
         'one\\two.c',
         'three\\Four.d',
         'Five\\Six.e',
         'seven\\Eight\\nine.F',
     ]
     for rel_path in files:
         full_path = os.path.normpath(
             os.path.join(self.test_dir, rel_path))
         self.make_dirs(full_path)
         with open(full_path, 'wb') as o:
             o.write('x')
         fixed_path = d.FixFilenameCase(full_path.lower())
         fixed_path = os.path.relpath(fixed_path, fixed_dir)
         self.assertEqual(rel_path, fixed_path)