956
956
apport.report._hook_dir = orig_hook_dir
957
957
apport.report._common_hook_dir = orig_common_hook_dir
959
def test_add_hooks_info_opt(self):
960
'''add_hooks_info() for a package in /opt'''
962
orig_hook_dir = apport.report._hook_dir
963
apport.report._hook_dir = tempfile.mkdtemp()
964
orig_common_hook_dir = apport.report._common_hook_dir
965
apport.report._common_hook_dir = tempfile.mkdtemp()
966
orig_opt_dir = apport.report._opt_dir
967
apport.report._opt_dir = tempfile.mkdtemp()
969
opt_hook_dir = os.path.join(apport.report._opt_dir,
970
'foolabs.example.com', 'foo', 'share',
971
'apport', 'package-hooks')
972
os.makedirs(opt_hook_dir)
973
with open(os.path.join(opt_hook_dir, 'source_foo.py'), 'w') as fd:
974
fd.write('''def add_info(report, ui):
975
report['SourceHook'] = '1'
977
with open(os.path.join(opt_hook_dir, 'foo-bin.py'), 'w') as fd:
978
fd.write('''def add_info(report, ui):
979
report['BinHook'] = '1'
982
r = apport.report.Report()
983
r['Package'] = 'foo-bin 0.2'
984
r['SourcePackage'] = 'foo'
985
r['ExecutablePath'] = '%s/foolabs.example.com/foo/bin/frob' % apport.report._opt_dir
987
self.assertEqual(r.add_hooks_info('fake_ui'), False)
988
self.assertEqual(r['SourceHook'], '1')
990
shutil.rmtree(apport.report._opt_dir)
991
shutil.rmtree(apport.report._hook_dir)
992
shutil.rmtree(apport.report._common_hook_dir)
993
apport.report._hook_dir = orig_hook_dir
994
apport.report._common_hook_dir = orig_common_hook_dir
995
apport.report._opt_dir = orig_opt_dir
959
997
def test_ignoring(self):
960
998
'''mark_ignore() and check_ignored().'''