Ejemplo n.º 1
0
 def test_match(self):
     for spec, res in [
         ("numpy 1.7*", True),
         ("numpy 1.7.1", True),
         ("numpy 1.7", False),
         ("numpy 1.5*", False),
         ("numpy >=1.5", True),
         ("numpy >=1.5,<2", True),
         ("numpy >=1.8,<1.9", False),
         ("numpy >1.5,<2,!=1.7.1", False),
         ("numpy >1.8,<2|==1.7", False),
         ("numpy >1.8,<2|>=1.7.1", True),
         ("numpy >=1.8|1.7*", True),
         ("numpy ==1.7", False),
         ("numpy >=1.5,>1.6", True),
         ("numpy ==1.7.1", True),
         ("numpy >=1,*.7.*", True),
         ("numpy *.7.*,>=1", True),
         ("numpy >=1,*.8.*", False),
         ("numpy >=2,*.7.*", False),
         ("numpy 1.6*|1.7*", True),
         ("numpy 1.6*|1.8*", False),
         ("numpy 1.6.2|1.7*", True),
         ("numpy 1.6.2|1.7.1", True),
         ("numpy 1.6.2|1.7.0", False),
         ("numpy 1.7.1 py27_0", True),
         ("numpy 1.7.1 py26_0", False),
         ("python", False),
     ]:
         m = MatchSpec(spec)
         self.assertEqual(m.match("numpy-1.7.1-py27_0.tar.bz2"), res)
Ejemplo n.º 2
0
    def test_match(self):
        for spec, res in [
            ('numpy 1.7*', True),          ('numpy 1.7.1', True),
            ('numpy 1.7', False),          ('numpy 1.5*', False),
            ('numpy >=1.5', True),         ('numpy >=1.5,<2', True),
            ('numpy >=1.8,<1.9', False),   ('numpy >1.5,<2,!=1.7.1', False),
            ('numpy >1.8,<2|==1.7', False),('numpy >1.8,<2|>=1.7.1', True),
            ('numpy >=1.8|1.7*', True),    ('numpy ==1.7', False),
            ('numpy >=1.5,>1.6', True),    ('numpy ==1.7.1', True),
            ('numpy >=1,*.7.*', True),     ('numpy *.7.*,>=1', True),
            ('numpy >=1,*.8.*', False),    ('numpy >=2,*.7.*', False),
            ('numpy 1.6*|1.7*', True),     ('numpy 1.6*|1.8*', False),
            ('numpy 1.6.2|1.7*', True),    ('numpy 1.6.2|1.7.1', True),
            ('numpy 1.6.2|1.7.0', False),  ('numpy 1.7.1 py27_0', True),
            ('numpy 1.7.1 py26_0', False), ('numpy >1.7.1a', True),
            ('python', False),
            ]:
            m = MatchSpec(spec)
            self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)

        # both version numbers conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1').match('numpy-1.0.1a-0.tar.bz2'))
        # both version numbers non-conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy >=1.0.1*.vc11').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        # one conforming, other non-conforming to PEP 440
        self.assertTrue(MatchSpec('numpy <1.0.1').match('numpy-1.0.1.vc11-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy <1.0.1').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match('numpy-1.0.1a-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy >=1.0.1a').match('numpy-1.0.1z-0.tar.bz2'))
Ejemplo n.º 3
0
 def test_match(self):
     for spec, res in [
         ('numpy 1.7*', True),
         ('numpy 1.7.1', True),
         ('numpy 1.7', False),
         ('numpy 1.5*', False),
         ('numpy >=1.5', True),
         ('numpy >=1.5,<2', True),
         ('numpy >=1.8,<1.9', False),
         ('numpy >1.5,<2,!=1.7.1', False),
         ('numpy >1.8,<2|==1.7', False),
         ('numpy >1.8,<2|>=1.7.1', True),
         ('numpy >=1.8|1.7*', True),
         ('numpy ==1.7', False),
         ('numpy >=1.5,>1.6', True),
         ('numpy ==1.7.1', True),
         ('numpy 1.6*|1.7*', True),
         ('numpy 1.6*|1.8*', False),
         ('numpy 1.6.2|1.7*', True),
         ('numpy 1.6.2|1.7.1', True),
         ('numpy 1.6.2|1.7.0', False),
         ('numpy 1.7.1 py27_0', True),
         ('numpy 1.7.1 py26_0', False),
         ('python', False),
     ]:
         m = MatchSpec(spec)
         self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)
Ejemplo n.º 4
0
    def test_match(self):
        for spec, res in [
            ('numpy 1.7*', True),          ('numpy 1.7.1', True),
            ('numpy 1.7', False),          ('numpy 1.5*', False),
            ('numpy >=1.5', True),         ('numpy >=1.5,<2', True),
            ('numpy >=1.8,<1.9', False),   ('numpy >1.5,<2,!=1.7.1', False),
            ('numpy >1.8,<2|==1.7', False),('numpy >1.8,<2|>=1.7.1', True),
            ('numpy >=1.8|1.7*', True),    ('numpy ==1.7', False),
            ('numpy >=1.5,>1.6', True),    ('numpy ==1.7.1', True),
            ('numpy >=1,*.7.*', True),     ('numpy *.7.*,>=1', True),
            ('numpy >=1,*.8.*', False),    ('numpy >=2,*.7.*', False),
            ('numpy 1.6*|1.7*', True),     ('numpy 1.6*|1.8*', False),
            ('numpy 1.6.2|1.7*', True),    ('numpy 1.6.2|1.7.1', True),
            ('numpy 1.6.2|1.7.0', False),  ('numpy 1.7.1 py27_0', True),
            ('numpy 1.7.1 py26_0', False), ('numpy >1.7.1a', True),
            ('python', False),
            ]:
            m = MatchSpec(spec)
            self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)

        # both version numbers conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1').match('numpy-1.0.1a-0.tar.bz2'))
        # both version numbers non-conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy >=1.0.1*.vc11').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        # one conforming, other non-conforming to PEP 440
        self.assertTrue(MatchSpec('numpy <1.0.1').match('numpy-1.0.1.vc11-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy <1.0.1').match('numpy-1.0.1a.vc11-0.tar.bz2'))
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match('numpy-1.0.1a-0.tar.bz2'))
        self.assertTrue(MatchSpec('numpy >=1.0.1a').match('numpy-1.0.1z-0.tar.bz2'))
Ejemplo n.º 5
0
    def test_match(self):
        for spec, res in [
            ('numpy 1.7*', True),          ('numpy 1.7.1', True),
            ('numpy 1.7', False),          ('numpy 1.5*', False),
            ('numpy >=1.5', True),         ('numpy >=1.5,<2', True),
            ('numpy >=1.8,<1.9', False),   ('numpy >1.5,<2,!=1.7.1', False),
            ('numpy >1.8,<2|==1.7', False),('numpy >1.8,<2|>=1.7.1', True),
            ('numpy >=1.8|1.7*', True),    ('numpy ==1.7', False),
            ('numpy >=1.5,>1.6', True),    ('numpy ==1.7.1', True),
            ('numpy >=1,*.7.*', True),     ('numpy *.7.*,>=1', True),
            ('numpy >=1,*.8.*', False),    ('numpy >=2,*.7.*', False),
            ('numpy 1.6*|1.7*', True),     ('numpy 1.6*|1.8*', False),
            ('numpy 1.6.2|1.7*', True),    ('numpy 1.6.2|1.7.1', True),
            ('numpy 1.6.2|1.7.0', False),  ('numpy 1.7.1 py27_0', True),
            ('numpy 1.7.1 py26_0', False), ('numpy >1.7.1a', True),
            ('python', False),
            ]:
            m = MatchSpec(spec)
            self.assertEqual(m.match(Dist('numpy-1.7.1-py27_0.tar.bz2')), res)

        # both version numbers conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1').match(Dist('numpy-1.0.1a-0.tar.bz2')))
        # both version numbers non-conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1*.vc11').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        # one conforming, other non-conforming to PEP 440
        self.assertTrue(MatchSpec('numpy <1.0.1').match(Dist('numpy-1.0.1.vc11-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy <1.0.1').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match(Dist('numpy-1.0.1a-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1a').match(Dist('numpy-1.0.1z-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1a py27*').match(Dist('numpy-1.0.1z-py27_1.tar.bz2')))
        self.assertTrue(MatchSpec('blas * openblas').match(Dist('blas-1.0-openblas.tar.bz2')))

        self.assertTrue(MatchSpec('blas').is_simple())
        self.assertFalse(MatchSpec('blas').is_exact())
        self.assertFalse(MatchSpec('blas 1.0').is_simple())
        self.assertFalse(MatchSpec('blas 1.0').is_exact())
        self.assertFalse(MatchSpec('blas 1.0 1').is_simple())
        self.assertTrue(MatchSpec('blas 1.0 1').is_exact())
        self.assertFalse(MatchSpec('blas 1.0 *').is_exact())

        m = MatchSpec('blas 1.0', optional=True)
        m2 = MatchSpec(m, optional=False)
        m3 = MatchSpec(m2, target='blas-1.0-0.tar.bz2')
        m4 = MatchSpec(m3, target=None, optional=True)
        self.assertTrue(m.spec == m2.spec and m.optional != m2.optional)
        self.assertTrue(m2.spec == m3.spec and m2.optional == m3.optional and m2.target != m3.target)
        self.assertTrue(m == m4)

        self.assertRaises(ValueError, MatchSpec, 'blas (optional')
        self.assertRaises(ValueError, MatchSpec, 'blas (optional,test)')
Ejemplo n.º 6
0
    def test_match(self):
        for spec, res in [
            ('numpy 1.7*', True),          ('numpy 1.7.1', True),
            ('numpy 1.7', False),          ('numpy 1.5*', False),
            ('numpy >=1.5', True),         ('numpy >=1.5,<2', True),
            ('numpy >=1.8,<1.9', False),   ('numpy >1.5,<2,!=1.7.1', False),
            ('numpy >1.8,<2|==1.7', False),('numpy >1.8,<2|>=1.7.1', True),
            ('numpy >=1.8|1.7*', True),    ('numpy ==1.7', False),
            ('numpy >=1.5,>1.6', True),    ('numpy ==1.7.1', True),
            ('numpy >=1,*.7.*', True),     ('numpy *.7.*,>=1', True),
            ('numpy >=1,*.8.*', False),    ('numpy >=2,*.7.*', False),
            ('numpy 1.6*|1.7*', True),     ('numpy 1.6*|1.8*', False),
            ('numpy 1.6.2|1.7*', True),    ('numpy 1.6.2|1.7.1', True),
            ('numpy 1.6.2|1.7.0', False),  ('numpy 1.7.1 py27_0', True),
            ('numpy 1.7.1 py26_0', False), ('numpy >1.7.1a', True),
            ('python', False),
            ]:
            m = MatchSpec(spec)
            self.assertEqual(m.match(Dist('numpy-1.7.1-py27_0.tar.bz2')), res)

        # both version numbers conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1').match(Dist('numpy-1.0.1a-0.tar.bz2')))
        # both version numbers non-conforming to PEP 440
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1*.vc11').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        # one conforming, other non-conforming to PEP 440
        self.assertTrue(MatchSpec('numpy <1.0.1').match(Dist('numpy-1.0.1.vc11-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy <1.0.1').match(Dist('numpy-1.0.1a.vc11-0.tar.bz2')))
        self.assertFalse(MatchSpec('numpy >=1.0.1.vc11').match(Dist('numpy-1.0.1a-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1a').match(Dist('numpy-1.0.1z-0.tar.bz2')))
        self.assertTrue(MatchSpec('numpy >=1.0.1a py27*').match(Dist('numpy-1.0.1z-py27_1.tar.bz2')))
        self.assertTrue(MatchSpec('blas * openblas').match(Dist('blas-1.0-openblas.tar.bz2')))

        self.assertTrue(MatchSpec('blas').is_simple())
        self.assertFalse(MatchSpec('blas').is_exact())
        self.assertFalse(MatchSpec('blas 1.0').is_simple())
        self.assertFalse(MatchSpec('blas 1.0').is_exact())
        self.assertFalse(MatchSpec('blas 1.0 1').is_simple())
        self.assertTrue(MatchSpec('blas 1.0 1').is_exact())
        self.assertFalse(MatchSpec('blas 1.0 *').is_exact())

        m = MatchSpec('blas 1.0', optional=True)
        m2 = MatchSpec(m, optional=False)
        m3 = MatchSpec(m2, target='blas-1.0-0.tar.bz2')
        m4 = MatchSpec(m3, target=None, optional=True)
        self.assertTrue(m.spec == m2.spec and m.optional != m2.optional)
        self.assertTrue(m2.spec == m3.spec and m2.optional == m3.optional and m2.target != m3.target)
        self.assertTrue(m == m4)

        self.assertRaises(ValueError, MatchSpec, 'blas (optional')
        self.assertRaises(ValueError, MatchSpec, 'blas (optional,test)')
Ejemplo n.º 7
0
 def test_match(self):
     for spec, res in [('numpy 1.7*', True),
                       ('numpy 1.7.1', True),
                       ('numpy 1.7', False),
                       ('numpy 1.5*', False),
                       ('numpy 1.6*|1.7*', True),
                       ('numpy 1.6*|1.8*', False),
                       ('numpy 1.6.2|1.7*', True),
                       ('numpy 1.6.2|1.7.1', True),
                       ('numpy 1.6.2|1.7.0', False),
                       ('numpy 1.7.1 py27_0', True),
                       ('numpy 1.7.1 py26_0', False),
                       ('python', False)]:
         m = MatchSpec(spec)
         self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)
Ejemplo n.º 8
0
 def test_match(self):
     for spec, res in [('numpy 1.7*', True),
                       ('numpy 1.7.1', True),
                       ('numpy 1.7', False),
                       ('numpy 1.5*', False),
                       ('numpy 1.6*|1.7*', True),
                       ('numpy 1.6*|1.8*', False),
                       ('numpy 1.6.2|1.7*', True),
                       ('numpy 1.6.2|1.7.1', True),
                       ('numpy 1.6.2|1.7.0', False),
                       ('numpy 1.7.1 py27_0', True),
                       ('numpy 1.7.1 py26_0', False),
                       ('python', False)]:
         m = MatchSpec(spec)
         self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)
Ejemplo n.º 9
0
 def test_match(self):
     for spec, res in [
         ('numpy 1.7*', True),          ('numpy 1.7.1', True),
         ('numpy 1.7', False),          ('numpy 1.5*', False),
         ('numpy >=1.5', True),         ('numpy >=1.5,<2', True),
         ('numpy >=1.8,<1.9', False),   ('numpy >1.5,<2,!=1.7.1', False),
         ('numpy >1.8,<2|==1.7', False),('numpy >1.8,<2|>=1.7.1', True),
         ('numpy >=1.8|1.7*', True),    ('numpy ==1.7', False),
         ('numpy >=1.5,>1.6', True),    ('numpy ==1.7.1', True),
         ('numpy 1.6*|1.7*', True),     ('numpy 1.6*|1.8*', False),
         ('numpy 1.6.2|1.7*', True),    ('numpy 1.6.2|1.7.1', True),
         ('numpy 1.6.2|1.7.0', False),  ('numpy 1.7.1 py27_0', True),
         ('numpy 1.7.1 py26_0', False), ('python', False),
         ]:
         m = MatchSpec(spec)
         self.assertEqual(m.match('numpy-1.7.1-py27_0.tar.bz2'), res)
Ejemplo n.º 10
0
 def test_match(self):
     for spec, res in [
         ("numpy 1.7*", True),
         ("numpy 1.7.1", True),
         ("numpy 1.7", False),
         ("numpy 1.5*", False),
         ("numpy 1.6*|1.7*", True),
         ("numpy 1.6*|1.8*", False),
         ("numpy 1.6.2|1.7*", True),
         ("numpy 1.6.2|1.7.1", True),
         ("numpy 1.6.2|1.7.0", False),
         ("numpy 1.7.1 py27_0", True),
         ("numpy 1.7.1 py26_0", False),
         ("python", False),
     ]:
         m = MatchSpec(spec)
         self.assertEqual(m.match("numpy-1.7.1-py27_0.tar.bz2"), res)
Ejemplo n.º 11
0
    def test_match(self):
        for spec, res in [
            ("numpy 1.7*", True),
            ("numpy 1.7.1", True),
            ("numpy 1.7", False),
            ("numpy 1.5*", False),
            ("numpy >=1.5", True),
            ("numpy >=1.5,<2", True),
            ("numpy >=1.8,<1.9", False),
            ("numpy >1.5,<2,!=1.7.1", False),
            ("numpy >1.8,<2|==1.7", False),
            ("numpy >1.8,<2|>=1.7.1", True),
            ("numpy >=1.8|1.7*", True),
            ("numpy ==1.7", False),
            ("numpy >=1.5,>1.6", True),
            ("numpy ==1.7.1", True),
            ("numpy >=1,*.7.*", True),
            ("numpy *.7.*,>=1", True),
            ("numpy >=1,*.8.*", False),
            ("numpy >=2,*.7.*", False),
            ("numpy 1.6*|1.7*", True),
            ("numpy 1.6*|1.8*", False),
            ("numpy 1.6.2|1.7*", True),
            ("numpy 1.6.2|1.7.1", True),
            ("numpy 1.6.2|1.7.0", False),
            ("numpy 1.7.1 py27_0", True),
            ("numpy 1.7.1 py26_0", False),
            ("numpy >1.7.1a", True),
            ("python", False),
        ]:
            m = MatchSpec(spec)
            self.assertEqual(m.match("numpy-1.7.1-py27_0.tar.bz2"), res)

        # both version numbers conforming to PEP 440
        self.assertFalse(MatchSpec("numpy >=1.0.1").match("numpy-1.0.1a-0.tar.bz2"))
        # both version numbers non-conforming to PEP 440
        self.assertFalse(MatchSpec("numpy >=1.0.1.vc11").match("numpy-1.0.1a.vc11-0.tar.bz2"))
        self.assertTrue(MatchSpec("numpy >=1.0.1*.vc11").match("numpy-1.0.1a.vc11-0.tar.bz2"))
        # one conforming, other non-conforming to PEP 440
        self.assertTrue(MatchSpec("numpy <1.0.1").match("numpy-1.0.1.vc11-0.tar.bz2"))
        self.assertTrue(MatchSpec("numpy <1.0.1").match("numpy-1.0.1a.vc11-0.tar.bz2"))
        self.assertFalse(MatchSpec("numpy >=1.0.1.vc11").match("numpy-1.0.1a-0.tar.bz2"))
        self.assertTrue(MatchSpec("numpy >=1.0.1a").match("numpy-1.0.1z-0.tar.bz2"))
Ejemplo n.º 12
0
print repo

r = Resolve(repo['packages'])
r.solve(env_lts['packages'], features=set())

r.solve2(env_lts['packages'], features=set())

# conda.api.fetch_repodata is the underlying index loader.



#index = get_index(channel_urls=channel_urls,
#                              prepend=not args.override_channels,
#                              use_cache=args.use_index_cache,
#                              unknown=args.unknown,
#                              json=args.json,
#                              offline=args.offline)


from conda.resolve import MatchSpec

fn = 'numpy-1.8.3-py27_0.tar.bz2'

ms = MatchSpec('numpy >=1.7,<1.9')

print ms.match(fn)

#for name in orig_packages:
#    pkgs = sorted(r.get_pkgs(MatchSpec(name)))