VirtualBox

Changeset 109300 in vbox


Ignore:
Timestamp:
May 16, 2025 12:38:14 PM (8 days ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168904
Message:

ValKit/testdriver/vbox.py: Use utils.versionCompare to implement isVersionEqualOrBigger; removed versionToTuple and compareVersion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testdriver/vbox.py

    r109278 r109300  
    17791779
    17801780    @staticmethod
    1781     def versionToTuple(sVer, fIgnoreErrors = False):
    1782         """
    1783         Returns a semantic versioning string as a tuple.
    1784         """
    1785         try:
    1786             # Regular expression taken from semver.org (recommended regular expression for semantic version strings).
    1787             # Creative Commons ― CC BY 3.0
    1788             #
    1789             # Modified to also recognize our semantics:
    1790             # - We use "-BETA2" instead of "_BETA2".
    1791             oRegEx = re.compile(r'^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:[-|_]((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'); # pylint: disable=line-too-long
    1792             oMatch = oRegEx.search(sVer);
    1793             return oMatch.groups();
    1794         except:
    1795             if not fIgnoreErrors:
    1796                 reporter.logXcpt('Handling regex for "%s" failed' % (sVer,));
    1797         return None;
    1798 
    1799     @staticmethod
    1800     def compareVersion(sVer1, sVer2, fIgnoreErrors = False):
    1801         """
    1802         Compares two version numbers and returns the result.
    1803 
    1804         Takes either strings or version tuples as input.
    1805 
    1806         Returns 0 if both versions match.
    1807         Return -1 if version 1 is bigger than version 2.
    1808         Return  1 if version 2 is bigger than version 1.
    1809         Returns None on error.
    1810         """
    1811         assert sVer1 is not None;
    1812         assert sVer2 is not None;
    1813         try:
    1814             tpVer1 = TestDriver.versionToTuple(sVer1, fIgnoreErrors);
    1815             if tpVer1 is None:
    1816                 return None;
    1817             tpVer2 = TestDriver.versionToTuple(sVer2, fIgnoreErrors);
    1818             if tpVer2 is None:
    1819                 return None;
    1820             if tpVer1 == tpVer2:
    1821                 return 0;
    1822             return 1 if tuple(map(str, tpVer2)) > tuple(map(str, tpVer1)) else -1;
    1823         except:
    1824             if not fIgnoreErrors:
    1825                 reporter.logXcpt();
    1826         return None;
    1827 
    1828     @staticmethod
    1829     def isVersionEqualOrBigger(sVer1, sVer2, fIgnoreErrors = False):
     1781    def isVersionEqualOrBigger(sVer1, sVer2):
    18301782        """
    18311783        Checks whether version 1 is equal or bigger than version 2.
     
    18331785        Returns True if version 1 is equal or bigger than version 2, False if not.
    18341786        """
    1835         return not TestDriver.compareVersion(sVer1, sVer2, fIgnoreErrors);
     1787        return utils.versionCompare(sVer1, sVer2) >= 0;
    18361788
    18371789    def getGuestAdditionsVersion(self, oSession, fIgnoreErrors = False):
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette