예제 #1
0
def test_module_version_major():
    v = Version("2")
    assert v.major == 2
    assert v.minor == v.patch == v.variant == None
    assert v < Version("4.0.0")
    assert v < Version("2.3.9")
    assert v > Version("1.0.0")
    assert v == Version("2")
예제 #2
0
def test_module_version_major_minor_patch():
    v = Version("2.1.3")
    assert v.major == 2
    assert v.minor == 1
    assert v.patch == 3
    assert v.variant == None
    assert v < Version("4.0.0")
    assert v < Version("2.3.9")
    assert v > Version("2.0.0")
    assert v == Version("2.1.3")
예제 #3
0
    def __init__(self, root, path):

        self.filename = os.path.join(root, path)

        if not os.path.isfile(self.filename):
            raise IOError("{0} is not a file".format(self.filename))

        parts = path.split(os.path.sep)
        if self.ext:
            parts[-1], ext = os.path.splitext(parts[-1])
            assert ext == self.ext, "ext={0!r}!={1!r}".format(ext, self.ext)

        version = variant = None
        if len(parts) == 1:
            name = parts[0]
        elif len(parts) == 2:
            name, version = parts
        elif len(parts) == 3:
            name, version, variant = parts
        else:
            name = os.path.join(*parts)

        self.name = name
        self.version = Version(version)
        self.variant = Version(variant)

        self.modulepath = root
        self.family = None
        self.whatisstr = ""
        self.helpstr = None
        self.is_default = False
        self._unlocked_by_me = []
        self.marked_as_default = False
        self._acquired_as = None  # How the module was initially loaded
        self._refcount = 0

        # Mapping containing items set on command line (before parsing)
        self.kwargv = {}

        # Options registered by a module using `add_option`
        self.registered_options = []
예제 #4
0
def test_module_version_major_minor_patch_variant():
    v = Version("2.1.3-c")
    assert v.major == 2
    assert v.minor == 1
    assert v.patch == 3
    assert v.variant == "c"
    assert v < Version("4.0.0")
    assert v < Version("2.3.9")
    assert v > Version("2.0.0")
    assert v > Version("2.1.3-b")
    assert v < Version("2.1.3-d")
    assert v == Version("2.1.3-c")
예제 #5
0
def test_module_version_info():
    v = Version("2.1.3")
    major, minor, patch = v.info[:3]
    assert v.major == major == 2
    assert v.minor == minor == 1
    assert v.patch == patch == 3
예제 #6
0
def test_module_version_str_v_int():
    v1 = Version("1.0")
    v2 = Version("a")
    assert v2 > v1
예제 #7
0
def test_module_version_different():
    v1 = Version("1.68")
    v2 = Version("1.68b")
    assert v2 > v1
예제 #8
0
def test_module_version_bool():
    v = Version()
    assert not v
    assert not v.__nonzero__()
    assert not v.__bool__()