def test_full_path(self): line = "/builddir/build/BUILD/libreoffice-3.5.7.2/icc/unxlngi6.pro/misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp:203:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]" issue = gcc.parse_warning(line, FUNC_NAME) self.assertEqual(issue.location.file.givenpath, "/builddir/build/BUILD/libreoffice-3.5.7.2/icc/unxlngi6.pro/misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp") self.assertEqual(issue.location.file.abspath, None)
def test_full_path(self): line = "/builddir/build/BUILD/libreoffice-3.5.7.2/icc/unxlngi6.pro/misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp:203:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]" issue = gcc.parse_warning(line, FUNC_NAME) self.assertEqual( issue.location.file.givenpath, "/builddir/build/BUILD/libreoffice-3.5.7.2/icc/unxlngi6.pro/misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp" ) self.assertEqual(issue.location.file.abspath, None)
def test_values_cpp(self): line = "num_get_float.cpp:535:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]" issue = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(issue.location, Location) self.assertIsInstance(issue.location.file, File) self.assertIsInstance(issue.location.point, Point) self.assertIsInstance(issue.location.function, Function) self.assertIsInstance(issue.message, Message) self.assertEqual(issue.message.text, "dereferencing type-punned pointer will break strict-aliasing rules") self.assertEqual(issue.location.file.givenpath, "num_get_float.cpp") self.assertEqual(issue.location.file.abspath, None) self.assertEqual(issue.location.point.line, 535) self.assertEqual(issue.location.point.column, 29) self.assertEqual(issue.location.function.name, FUNC_NAME)
def test_values_c(self): line = "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]" ret = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(ret.location, Location) self.assertIsInstance(ret.location.file, File) self.assertIsInstance(ret.location.point, Point) self.assertIsInstance(ret.location.function, Function) self.assertIsInstance(ret.message, Message) self.assertEqual(ret.message.text, "ignoring return value of 'fread', declared with attribute warn_unused_result") self.assertEqual(ret.location.file.name, "unix/arlib.c") self.assertEqual(ret.location.point.line, 299) self.assertEqual(ret.location.point.column, 9) self.assertEqual(ret.location.function.name, FUNC_NAME)
def test_values_cpp(self): line = "num_get_float.cpp:535:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]" issue = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(issue.location, Location) self.assertIsInstance(issue.location.file, File) self.assertIsInstance(issue.location.point, Point) self.assertIsInstance(issue.location.function, Function) self.assertIsInstance(issue.message, Message) self.assertEqual( issue.message.text, "dereferencing type-punned pointer will break strict-aliasing rules" ) self.assertEqual(issue.location.file.givenpath, "num_get_float.cpp") self.assertEqual(issue.location.file.abspath, None) self.assertEqual(issue.location.point.line, 535) self.assertEqual(issue.location.point.column, 29) self.assertEqual(issue.location.function.name, FUNC_NAME)
def test_values_c(self): line = "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]" issue = gcc.parse_warning(line, FUNC_NAME) # Verify the metadata: self.assertEqual(issue.cwe, None) self.assertEqual(issue.testid, 'unused-result') self.assertIsInstance(issue.location, Location) self.assertIsInstance(issue.location.file, File) self.assertIsInstance(issue.location.point, Point) self.assertIsInstance(issue.location.function, Function) self.assertIsInstance(issue.message, Message) self.assertEqual(issue.message.text, "ignoring return value of 'fread', declared with attribute warn_unused_result") self.assertEqual(issue.location.file.givenpath, "unix/arlib.c") self.assertEqual(issue.location.file.abspath, None) self.assertEqual(issue.location.point.line, 299) self.assertEqual(issue.location.point.column, 9) self.assertEqual(issue.location.function.name, FUNC_NAME)
def test_values_c(self): line = "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]" issue = gcc.parse_warning(line, FUNC_NAME) # Verify the metadata: self.assertEqual(issue.cwe, None) self.assertEqual(issue.testid, 'unused-result') self.assertIsInstance(issue.location, Location) self.assertIsInstance(issue.location.file, File) self.assertIsInstance(issue.location.point, Point) self.assertIsInstance(issue.location.function, Function) self.assertIsInstance(issue.message, Message) self.assertEqual( issue.message.text, "ignoring return value of 'fread', declared with attribute warn_unused_result" ) self.assertEqual(issue.location.file.givenpath, "unix/arlib.c") self.assertEqual(issue.location.file.abspath, None) self.assertEqual(issue.location.point.line, 299) self.assertEqual(issue.location.point.column, 9) self.assertEqual(issue.location.function.name, FUNC_NAME)
def test_no_metadata(self): line = "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]" ret = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(ret, Issue)
def test_new_line(self): ret = gcc.parse_warning('\n', FUNC_NAME) self.assertTrue(ret is None)
def test_empty(self): ret = gcc.parse_warning('', FUNC_NAME) self.assertTrue(ret is None)
def test_parse_no_switch(self): line = "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result" issue = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(issue, Issue)
def test_ignore_java_warning(self): line = " [javac] /builddir/build/BUILD/libreoffice-3.5.7.2/hsqldb/unxlngi6.pro/misc/build/hsqldb/build/build.xml:139: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds" issue = gcc.parse_warning(line, FUNC_NAME) self.assertTrue(issue is None)
def test_parse_no_switch(self): line = ( "unix/arlib.c:299:9: warning: ignoring return value of 'fread', declared with attribute warn_unused_result" ) issue = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(issue, Issue)
def test_empty_col(self): line = "webkit/glue/webkitclient_impl.cc:411: warning: 'current_mem_usage' may be used uninitialized in this function" ret = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(ret, Issue) self.assertEqual(ret.location.column, 0) self.assertEqual(ret.location.line, 411)
def test_parse_cpp(self): line = "num_get_float.cpp:535:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]" ret = gcc.parse_warning(line, FUNC_NAME) self.assertIsInstance(ret, Issue)
def test_new_line(self): ret = gcc.parse_warning("\n", FUNC_NAME) self.assertTrue(ret is None)
def test_empty(self): ret = gcc.parse_warning("", FUNC_NAME) self.assertTrue(ret is None)
def test_ignore_zip_warning(self): line = " zip warning: ../../unxlngi6.pro/bin/autotextuser.zip not found or empty" issue = gcc.parse_warning(line, FUNC_NAME) self.assertTrue(issue is None)