def test_recognize_cpan_manifest_as_plain_package(self):
     test_file = self.get_test_loc('cpan/MANIFEST')
     try:
         recognize_package_manifests(test_file)
         self.fail('Exception not raised')
     except NotImplementedError:
         pass
示例#2
0
def _get_package_manifests(location):
    """
    Return a mapping of package manifest information detected in the file at `location`.

    Note that all exceptions are caught if there are any errors while parsing a
    package manifest.
    """
    from packagedcode.recognize import recognize_package_manifests
    try:
        recognized_package_manifests = recognize_package_manifests(location)
        if recognized_package_manifests:
            return recognized_package_manifests
    except Exception as e:
        if TRACE:
            logger.error('_get_package_manifests: {}: Exception: {}'.format(location, e))

        if SCANCODE_DEBUG_PACKAGE_API:
            raise
        else:
            # attention: we are swallowing ALL exceptions here!
            pass
 def test_recognize_go_mod(self):
     test_file = self.get_test_loc('golang/gomod/kingpin/go.mod')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], golang.GolangPackage)
 def test_recognize_maven_pom_xml(self):
     test_file = self.get_test_loc('maven2/pom.xml')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], maven.MavenPomPackage)
 def test_recognize_package_manifests_iso(self):
     test_file = self.get_test_loc('archives/small.iso')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.IsoImagePackage)
 def test_recognize_package_manifests_gem(self):
     test_file = self.get_test_loc(
         'archives/mysmallidea-address_standardization-0.4.1.gem')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.rubygems.RubyGem)
 def test_recognize_package_manifests_rar(self):
     test_file = self.get_test_loc('archives/basic.rar')
     packages = recognize_package_manifests(test_file)
     assert not packages
 def test_recognize_package_manifests_rpm(self):
     test_file = self.get_test_loc('archives/alfandega-2.2-2.rh80.src.rpm')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], rpm.RpmPackage)
 def test_recognize_nuget(self):
     test_file = self.get_test_loc('recon/bootstrap.nuspec')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], nuget.NugetPackage)
示例#10
0
 def test_recognize_freebsd(self):
     test_file = self.get_test_loc(
         'freebsd/multi_license/+COMPACT_MANIFEST')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], freebsd.FreeBSDPackage)
示例#11
0
 def test_recognize_haxe(self):
     test_file = self.get_test_loc('recon/haxelib.json')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], haxe.HaxePackage)
示例#12
0
 def test_recognize_composer(self):
     test_file = self.get_test_loc('recon/composer.json')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], phpcomposer.PHPComposerPackage)
示例#13
0
 def test_recognize_opam1(self):
     test_file = self.get_test_loc('recon/base.opam')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], opam.OpamPackage)
示例#14
0
 def test_recognize_cargo(self):
     test_file = self.get_test_loc('recon/Cargo.toml')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], cargo.RustCargoCrate)
示例#15
0
 def test_recognize_npm(self):
     test_file = self.get_test_loc('recon/package.json')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], npm.NpmPackage)
示例#16
0
 def test_recognize_go_sum(self):
     test_file = self.get_test_loc('golang/gosum/sample1/go.sum')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], golang.GolangPackage)
示例#17
0
 def test_recognize_package_manifests_deb(self):
     test_file = self.get_test_loc('archives/adduser_3.112ubuntu1_all.deb')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.debian.DebianPackage)
示例#18
0
 def test_recognize_winexe(self):
     test_file = self.get_test_loc('win_pe/tre4.dll')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], win_pe.WindowsExecutable)
示例#19
0
 def test_recognize_package_manifests_cab(self):
     test_file = self.get_test_loc('archives/basic.cab')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.CabPackage)
示例#20
0
 def test_recognize_bower(self):
     test_file = self.get_test_loc('bower/basic/bower.json')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], bower.BowerPackage)
示例#21
0
 def test_recognize_package_manifests_zip(self):
     test_file = self.get_test_loc('archives/myarch-2.3.0.7z')
     packages = recognize_package_manifests(test_file)
     assert not packages
示例#22
0
 def test_recognize_cpan(self):
     test_file = self.get_test_loc('cpan/MANIFEST')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], models.CpanModule)
示例#23
0
 def test_recognize_package_manifests_jar(self):
     test_file = self.get_test_loc('archives/simple.jar')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.JavaJar)
示例#24
0
 def test_recognize_python2(self):
     test_file = self.get_test_loc(
         'recon/pypi/atomicwrites-1.2.1-py2.py3-none-any.whl')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)
示例#25
0
 def test_recognize_package_manifests_does_not_recognize_plain_tarball(
         self):
     test_file = self.get_test_loc('archives/tarred_bzipped.tar.bz2')
     packages = recognize_package_manifests(test_file)
     assert not packages
示例#26
0
 def test_recognize_python7(self):
     test_file = self.get_test_loc('recon/pypi/Pipfile.lock')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)
示例#27
0
 def test_recognize_maven_dot_pom(self):
     test_file = self.get_test_loc(
         'm2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], maven.MavenPomPackage)
示例#28
0
 def test_recognize_python8(self):
     test_file = self.get_test_loc('recon/pypi/requirements.txt')
     packages = recognize_package_manifests(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)