Merge lp:~brian-murray/apport/recoverable-problem-dupesig into lp:~apport-hackers/apport/trunk

Proposed by Brian Murray
Status: Merged
Merged at revision: 2947
Proposed branch: lp:~brian-murray/apport/recoverable-problem-dupesig
Merge into: lp:~apport-hackers/apport/trunk
Diff against target: 40 lines (+7/-6)
2 files modified
data/recoverable_problem (+3/-4)
test/test_recoverable_problem.py (+4/-2)
To merge this branch: bzr merge lp:~brian-murray/apport/recoverable-problem-dupesig
Reviewer Review Type Date Requested Status
Martin Pitt (community) Approve
Review via email: mp+256395@code.launchpad.net

Description of the change

Really create a better duplicate signature using ExecutablePath fixing bug 1316763.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/recoverable_problem'
2--- data/recoverable_problem 2014-10-13 20:32:11 +0000
3+++ data/recoverable_problem 2015-04-15 20:43:11 +0000
4@@ -62,10 +62,9 @@
5 report.add_user_info()
6
7 ds = report.get('DuplicateSignature', '')
8- package = report.get('Package', '')
9- if package and ds:
10- package = package.split()[0]
11- report['DuplicateSignature'] = '%s:%s' % (package, ds)
12+ exec_path = report.get('ExecutablePath', '')
13+ if exec_path and ds:
14+ report['DuplicateSignature'] = '%s:%s' % (exec_path, ds)
15
16 # Write the final report
17 with open(apport.fileutils.make_report_path(report), 'wb') as fp:
18
19=== modified file 'test/test_recoverable_problem.py'
20--- test/test_recoverable_problem.py 2014-05-14 20:58:42 +0000
21+++ test/test_recoverable_problem.py 2015-04-15 20:43:11 +0000
22@@ -59,14 +59,16 @@
23 self.assertTrue('Pid:\t%d' % os.getpid() in report['ProcStatus'])
24
25 def test_recoverable_problem_dupe_sig(self):
26- '''recoverable_problem duplicate signature includes package'''
27+ '''recoverable_problem duplicate signature includes ExecutablePath'''
28
29 self.call_recoverable_problem('Package\0test\0DuplicateSignature\0ds')
30 path = self.wait_for_report()
31 with open(path, 'rb') as report_path:
32 report = apport.report.Report()
33 report.load(report_path)
34- self.assertEqual(report['DuplicateSignature'], 'test:ds')
35+ exec_path = report.get('ExecutablePath')
36+ self.assertEqual(report['DuplicateSignature'], '%s:ds' %
37+ (exec_path))
38 self.assertTrue('Pid:\t%d' % os.getpid() in report['ProcStatus'])
39
40 def test_invalid_data(self):

Subscribers

People subscribed via source and target branches