def testBadInput(self):
     fc = file_set_checker.FileSetChecker()
     expected = [
         tag.CheckpkgTag(None, 'bad-arch-or-os-release',
                         'csw-upload-pkg arch=pkg osrel=unspecified'),
         tag.CheckpkgTag(
             None, 'bad-vendor-tag',
             'filename=csw-upload-pkg expected=CSW actual=UNKN'),
     ]
     files = ['csw-upload-pkg']
     self.assertEqual(expected, fc.CheckFiles(files))
Esempio n. 2
0
 def testBadInput(self):
     fc = file_set_checker.FileSetChecker()
     expected = [
         tag.CheckpkgTag(
             None, 'bad-vendor-tag',
             'filename=csw-upload-pkg expected=CSW actual=UNKN')
     ]
     expected_2 = [
         tag.CheckpkgTag(None, 'bad-arch-or-os-release',
                         'csw-upload-pkg arch=pkg osrel=unspecified'),
     ]
     files = ['csw-upload-pkg']
     files_with_metadata = fc._FilesWithMetadata(files)
     self.assertEqual(expected, fc._CheckUncommitted(files_with_metadata))
     self.assertEqual(expected_2,
                      fc._CheckMissingArchs(files_with_metadata))
Esempio n. 3
0
 def testThreeTags(self):
     m = checkpkg_lib.CheckpkgManager2("testname", [], "5.9", "sparc",
                                       "unstable")
     tags = {
         "CSWfoo": [
             tag.CheckpkgTag("CSWfoo", "foo-tag", "foo-info"),
             tag.CheckpkgTag("CSWfoo", "bar-tag", "bar-info"),
             tag.CheckpkgTag("CSWfoo", "baz-tag"),
         ],
     }
     screen_report, tags_report = m.FormatReports(tags, [], [])
     expected = (u'# Tags reported by testname module\n'
                 u'CSWfoo: foo-tag foo-info\n'
                 u'CSWfoo: bar-tag bar-info\n'
                 u'CSWfoo: baz-tag\n')
     self.assertEqual(expected, unicode(tags_report))
Esempio n. 4
0
 def testFilenames(self):
     fc = file_set_checker.FileSetChecker()
     expected = [
         tag.CheckpkgTag(None, 'bad-filename', 'filename=csw-upload-pkg'),
     ]
     files = ['csw-upload-pkg']
     files_with_metadata = fc._FilesWithMetadata(files)
     self.assertEqual(expected, fc._CheckFilenames(files_with_metadata))
Esempio n. 5
0
 def ReportErrorForPkgname(self,
                           pkgname,
                           tag_name,
                           tag_info=None,
                           msg=None):
     # TODO: Make this bit use the CheckpkgErrorTag class from models.py
     checkpkg_tag = tag.CheckpkgTag(pkgname, tag_name, tag_info, msg=msg)
     self.AddError(checkpkg_tag)
Esempio n. 6
0
 def GetSavedErrorTags(self):
     pkg_stats = self.GetDbObject()
     res = m.CheckpkgErrorTag.select(
         m.CheckpkgErrorTag.q.srv4_file == pkg_stats)
     tag_list = [
         tag.CheckpkgTag(x.pkgname, x.tag_name, x.tag_info, x.msg)
         for x in res
     ]
     return tag_list
Esempio n. 7
0
 def _CheckFilenames(self, files_with_metadata):
     tags = []
     for filename, parsed_filename in files_with_metadata:
         if not filename.endswith(".pkg.gz") and not filename.endswith(
                 ".pkg"):
             tags.append(
                 tag.CheckpkgTag(None, "bad-filename",
                                 "filename=%s" % filename))
     return tags
Esempio n. 8
0
 def _CheckMissingArchs(self, files_with_metadata):
     tags = []
     catalognames_by_arch = {}
     # We check all the OS releases that are included in the file set.
     # We won't report a missing i386-SunOS5.8 package if there was no
     # SunOS5.8 package in the set.
     osrels = set(x[1]["osrel"] for x in files_with_metadata)
     # Prepopulate sets, so that we have one set per each arch-osrel pair
     # that is applicable to this set of files.
     for arch in common_constants.PHYSICAL_ARCHITECTURES:
         for osrel in osrels:
             key = arch, osrel
             catalognames_by_arch[key] = set()
     # Assign files from the set to appropriate set.
     for file_path, file_metadata in files_with_metadata:
         catalogname = file_metadata["catalogname"]
         if file_metadata["arch"] == "all":
             archs = common_constants.PHYSICAL_ARCHITECTURES
         else:
             archs = [file_metadata["arch"]]
         osrel = file_metadata["osrel"]
         for arch in archs:
             key = arch, osrel
             if key in catalognames_by_arch:
                 catalognames_by_arch[key].add(catalogname)
             else:
                 tags.append(
                     tag.CheckpkgTag(
                         None, "bad-arch-or-os-release",
                         "%s arch=%s osrel=%s" % (file_path, arch, osrel)))
     missing = {}
     for key1, set1 in catalognames_by_arch.iteritems():
         for catalogname in set1:
             for key2, set2 in catalognames_by_arch.iteritems():
                 if catalogname not in set2:
                     arch, osrel = key2
                     missing_key = arch, osrel, catalogname
                     missing.setdefault(missing_key, set()).add(
                         "Because %s-%s-%s exists" %
                         (catalogname, key1[0], key1[1]))
     for arch, osrel, catalogname in missing:
         error_tag_name = "%s-%s-missing" % (arch, osrel)
         tags.append(tag.CheckpkgTag(None, error_tag_name, catalogname))
     return tags
 def testUncommitted(self):
     fc = file_set_checker.FileSetChecker()
     expected = [
         tag.CheckpkgTag(
             None, 'bad-vendor-tag',
             'filename=nspr_devel-4.8.6,REV=2010.10.16-SunOS5.9-sparc-UNCOMMITTED.pkg.gz expected=CSW actual=UNCOMMITTED'
         ),
         tag.CheckpkgTag(
             None, 'bad-vendor-tag',
             'filename=nspr_devel-4.8.6,REV=2010.10.16-SunOS5.9-i386-UNCOMMITTED.pkg.gz expected=CSW actual=UNCOMMITTED'
         ),
     ]
     files = [
         '/home/experimental/maciej/'
         'nspr_devel-4.8.6,REV=2010.10.16-SunOS5.9-sparc-UNCOMMITTED.pkg.gz',
         '/home/experimental/maciej/'
         'nspr_devel-4.8.6,REV=2010.10.16-SunOS5.9-i386-UNCOMMITTED.pkg.gz'
     ]
     self.assertEqual(expected, fc.CheckFiles(files))
Esempio n. 10
0
 def testMissingArchitectureWithOsrel(self):
     files = [
         'foo-1.0,REV=2011.03.30-SunOS5.9-i386-CSW.pkg.gz',
         'foo-1.0,REV=2011.03.30-SunOS5.9-sparc-CSW.pkg.gz',
         'foo-1.0,REV=2011.03.30-SunOS5.10-i386-CSW.pkg.gz',
         # Intentionally missing
         # 'foo-1.0,REV=2011.03.30-SunOS5.10-sparc-CSW.pkg.gz',
     ]
     fc = file_set_checker.FileSetChecker()
     expected = [tag.CheckpkgTag(None, 'sparc-SunOS5.10-missing', 'foo')]
     self.assertEqual(expected, fc.CheckFiles(files))
Esempio n. 11
0
 def _CheckUncommitted(self, files_with_metadata):
     tags = []
     expected_vendor_tag = "CSW"
     for filename, parsed_filename in files_with_metadata:
         if parsed_filename["vendortag"] != expected_vendor_tag:
             tags.append(
                 tag.CheckpkgTag(
                     None, "bad-vendor-tag",
                     "filename=%s expected=%s actual=%s" %
                     (filename, expected_vendor_tag,
                      parsed_filename["vendortag"])))
     return tags
Esempio n. 12
0
 def test_5(self):
     tags = [tag.CheckpkgTag("CSWfoo", "foo-tag", "tag-info-1")]
     oo = [overrides.Override("CSWfoo", "foo-tag", "tag-info-1")]
     self.assertEqual(([], set([])), overrides.ApplyOverrides(tags, oo))
Esempio n. 13
0
 def test_3(self):
     """One override, matching by tag name, mismatching tag info, no pkgname."""
     tags = [tag.CheckpkgTag("CSWfoo", "foo-tag", "tag-info-1")]
     oo = [overrides.Override(None, "foo-tag", "tag-info-2")]
     self.assertEqual((tags, set(oo)), overrides.ApplyOverrides(tags, oo))
Esempio n. 14
0
 def test_2(self):
     """One override, matching by tag name and tag info, no pkgname."""
     tags = [tag.CheckpkgTag("CSWfoo", "foo-tag")]
     oo = [overrides.Override(None, "foo-tag", None)]
     self.assertEqual(([], set([])), overrides.ApplyOverrides(tags, oo))
Esempio n. 15
0
 def test_1a(self):
     """One tag, no overrides."""
     tags = [tag.CheckpkgTag("CSWfoo", "foo-tag")]
     oo = []
     self.assertEqual((tags, set([])), overrides.ApplyOverrides(tags, oo))
Esempio n. 16
0
 def test_6(self):
     """Pkgname mismatch."""
     tags = [tag.CheckpkgTag("CSWfoo", "foo-tag", "tag-info-1")]
     oo = [overrides.Override("CSWbar", "foo-tag", "tag-info-1")]
     self.assertEqual((tags, set(oo)), overrides.ApplyOverrides(tags, oo))
Esempio n. 17
0
 def testMissingArchitecture(self):
     fc = file_set_checker.FileSetChecker()
     expected = [tag.CheckpkgTag(None, 'i386-SunOS5.9-missing', 'libnspr4')]
     self.assertEqual(expected, fc.CheckFiles(SAMPLE_FILES))
Esempio n. 18
0
 def testMissingArchitecture(self):
     fc = file_set_checker.FileSetChecker()
     expected = [tag.CheckpkgTag(None, 'i386-SunOS5.9-missing', 'libnspr4')]
     files_with_metadata = fc._FilesWithMetadata(SAMPLE_FILES)
     self.assertEqual(expected, fc._CheckMissingArchs(files_with_metadata))