Example #1
0
    def testGetDeps(self):
        class FakeSymbolTable(javadeps._javaSymbolTable):
            def __init__(x):
                javadeps._javaSymbolTable.__init__(x)
                x.stringList = {
                            1 : 'badTld1',
                            2 : 'org/good/Tld2',
                            3 : '[LbadTld3;',
                            4 : '[Lorg/good/Tld4;',
                            6 : 'badTld5',
                            7 : '[Lorg/good/Tld6;',
                            9 : '[Lorg/good/Tld2;',
                            }

                x.classRef = dict(zip(range(1, 6), range(1, 6)))
                x.typeRef = dict((i, (i, i)) for i in range(6, 10))
                x._attributes = {}
                x.classNameIndex = 1

        mockParse = lambda x: (FakeSymbolTable(), 0)
        self.mock(javadeps, '_parseSymbolTable', mockParse)

        deps = javadeps.getDeps('fakecontents')
        self.assertEquals(deps[1], set(['org.good.Tld2',
                                        'org.good.Tld4',
                                        'org.good.Tld6']))
Example #2
0
    def testGetDeps(self):
        class FakeSymbolTable(javadeps._javaSymbolTable):
            def __init__(x):
                javadeps._javaSymbolTable.__init__(x)
                x.stringList = {
                    1: 'badTld1',
                    2: 'org/good/Tld2',
                    3: '[LbadTld3;',
                    4: '[Lorg/good/Tld4;',
                    6: 'badTld5',
                    7: '[Lorg/good/Tld6;',
                    9: '[Lorg/good/Tld2;',
                }

                x.classRef = dict(zip(range(1, 6), range(1, 6)))
                x.typeRef = dict((i, (i, i)) for i in range(6, 10))
                x._attributes = {}
                x.classNameIndex = 1

        mockParse = lambda x: (FakeSymbolTable(), 0)
        self.mock(javadeps, '_parseSymbolTable', mockParse)

        deps = javadeps.getDeps('fakecontents')
        self.assertEquals(
            deps[1], set(['org.good.Tld2', 'org.good.Tld4', 'org.good.Tld6']))
Example #3
0
 def __init__(self, path, basedir='', buffer=''):
     Magic.__init__(self, path, basedir)
     fullpath = basedir+path
     prov, req = javadeps.getDeps(file(fullpath).read())
     if prov:
         self.contents['provides'] = set([prov])
     if req:
         self.contents['requires'] = req
     self.contents['files'] = { path : (prov, req) }
Example #4
0
 def __init__(self, path, basedir='', buffer=''):
     Magic.__init__(self, path, basedir)
     fullpath = basedir + path
     prov, req = javadeps.getDeps(file(fullpath).read())
     if prov:
         self.contents['provides'] = set([prov])
     if req:
         self.contents['requires'] = req
     self.contents['files'] = {path: (prov, req)}
Example #5
0
    def __init__(self, path, basedir='', zipFileObj = None, fileList = []):
        Magic.__init__(self, path, basedir)
        self.contents['files'] = filesMap = {}
        self.contents['provides'] = set()
        self.contents['requires'] = set()

        if zipFileObj is None:
            return

        try:
            for name in fileList:
                contents = zipFileObj.read(name)
                if not _javaMagic(contents):
                    continue
                prov, req = javadeps.getDeps(contents)
                filesMap[name] = (prov, req)
                if prov:
                    self.contents['provides'].add(prov)
                if req:
                    self.contents['requires'].update(req)
        except (IOError, zipfile.BadZipfile):
            # zipfile raises IOError on some malformed zip files
            pass
Example #6
0
    def __init__(self, path, basedir='', zipFileObj=None, fileList=[]):
        Magic.__init__(self, path, basedir)
        self.contents['files'] = filesMap = {}
        self.contents['provides'] = set()
        self.contents['requires'] = set()

        if zipFileObj is None:
            return

        try:
            for name in fileList:
                contents = zipFileObj.read(name)
                if not _javaMagic(contents):
                    continue
                prov, req = javadeps.getDeps(contents)
                filesMap[name] = (prov, req)
                if prov:
                    self.contents['provides'].add(prov)
                if req:
                    self.contents['requires'].update(req)
        except (IOError, zipfile.BadZipfile):
            # zipfile raises IOError on some malformed zip files
            pass