def test_summary_with_absolute_path(self): filename = os.sep.join([self.ctxt.basedir, 'test', 'module.py']) pickle.dump({ filename: set([1, 4, 5]), }, self.summary) self.summary.close() sourcefile = self.ctxt.resolve(self._create_file('test', 'module.py')) open(sourcefile, 'w').write("if foo: # line 1\n" " print 'uncovered' # line 2\n" "else: # line 3 (uninteresting)\n" " print 'covered' # line 4\n" "print 'covered' # line 6\n") pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(1, len(xml.children)) child = xml.children[0] self.assertEqual('coverage', child.name) self.assertEqual('test.module', child.attr['name']) self.assertEqual('test/module.py', child.attr['file']) self.assertEqual(75, child.attr['percentage']) self.assertEqual(4, child.attr['lines']) self.assertEqual('1 0 - 1 1', child.attr['line_hits'])
def test_summary_with_absolute_path(self): filename = os.sep.join([self.ctxt.basedir, 'test', 'module.py']) pickle.dump({ filename: set([1, 4, 5]), }, self.summary) self.summary.close() sourcefile = self.ctxt.resolve(self._create_file('test', 'module.py')) open(sourcefile, 'w').write( "if foo: # line 1\n" " print 'uncovered' # line 2\n" "else: # line 3 (uninteresting)\n" " print 'covered' # line 4\n" "print 'covered' # line 6\n" ) pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(1, len(xml.children)) child = xml.children[0] self.assertEqual('coverage', child.name) self.assertEqual('test.module', child.attr['name']) self.assertEqual('test/module.py', child.attr['file']) self.assertEqual(75, child.attr['percentage']) self.assertEqual(4, child.attr['lines']) self.assertEqual('1 0 - 1 1', child.attr['line_hits'])
def test_empty_summary(self): pickle.dump({}, self.summary) self.summary.close() pythontools.figleaf(self.ctxt, summary=self.summary.name, include='*.py') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(0, len(xml.children))
def test_summary_with_non_python_files(self): "Figleaf coverage reports should not include files that do not end in .py" pickle.dump({}, self.summary) self.summary.close() sourcefile = self.ctxt.resolve(self._create_file('test', 'document.txt')) open(sourcefile, 'w').write("\n") pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(0, len(xml.children))
def test_summary_with_non_python_files(self): "Figleaf coverage reports should not include files that do not end in .py" pickle.dump({}, self.summary) self.summary.close() sourcefile = self.ctxt.resolve( self._create_file('test', 'document.txt')) open(sourcefile, 'w').write("\n") pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(0, len(xml.children))
def test_summary_with_non_covered_file(self): pickle.dump({}, self.summary) self.summary.close() sourcefile = self.ctxt.resolve(self._create_file('test', 'module.py')) open(sourcefile, 'w').write("print 'line 1'\n" "print 'line 2'\n" "print 'line 3'\n" "print 'line 4'\n" "print 'line 5'\n") pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(1, len(xml.children)) child = xml.children[0] self.assertEqual('coverage', child.name) self.assertEqual('test.module', child.attr['name']) self.assertEqual('test/module.py', child.attr['file']) self.assertEqual(0, child.attr['percentage']) self.assertEqual(5, child.attr['lines'])
def test_summary_with_non_covered_file(self): pickle.dump({}, self.summary) self.summary.close() sourcefile = self.ctxt.resolve(self._create_file('test', 'module.py')) open(sourcefile, 'w').write( "print 'line 1'\n" "print 'line 2'\n" "print 'line 3'\n" "print 'line 4'\n" "print 'line 5'\n" ) pythontools.figleaf(self.ctxt, summary=self.summary.name, include='test/*') type, category, generator, xml = self.ctxt.output.pop() self.assertEqual(Recipe.REPORT, type) self.assertEqual('coverage', category) self.assertEqual(1, len(xml.children)) child = xml.children[0] self.assertEqual('coverage', child.name) self.assertEqual('test.module', child.attr['name']) self.assertEqual('test/module.py', child.attr['file']) self.assertEqual(0, child.attr['percentage']) self.assertEqual(5, child.attr['lines'])
def test_missing_coverage_file(self): self.summary.close() pythontools.figleaf(self.ctxt, summary='non-existant-file', include='*.py') self.assertEqual([], self.ctxt.output)