aboutsummaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-09-15 09:52:07 -0400
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-09-21 18:09:12 +0200
commitca866bcfc715fb39255e649a30a7fc02ad6ca8e2 (patch)
treee463779c6ad4d6488008deb1ac9c64c398ba1cc1 /unittests
parentea4b99947387b8f82073d0ee746445a478d7de95 (diff)
downloadmeson-ca866bcfc715fb39255e649a30a7fc02ad6ca8e2.zip
meson-ca866bcfc715fb39255e649a30a7fc02ad6ca8e2.tar.gz
meson-ca866bcfc715fb39255e649a30a7fc02ad6ca8e2.tar.bz2
coredata: 0.59.1 -> 0.59.99 is a major version difference
Remove test_minor_version_does_not_reconfigure_wipe() because when run during dev cycle that test reconfigure with .99 -> .100 which is considered a major version change now. It is covered by a more efficient internal test now anyway. While at it, remove no-op `with Path(self.builddir):` statement, the intention was clearly to set workdir. Fixes: #9260
Diffstat (limited to 'unittests')
-rw-r--r--unittests/allplatformstests.py28
-rw-r--r--unittests/internaltests.py16
2 files changed, 18 insertions, 26 deletions
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py
index 524f0d0..7afa989 100644
--- a/unittests/allplatformstests.py
+++ b/unittests/allplatformstests.py
@@ -2356,16 +2356,12 @@ class AllPlatformTests(BasePlatformTests):
self.wipe()
self.init(testdir, extra_args=['-Dstart_native=true'], override_envvars=env)
- def __reconfigure(self, change_minor=False):
+ def __reconfigure(self):
# Set an older version to force a reconfigure from scratch
filename = os.path.join(self.privatedir, 'coredata.dat')
with open(filename, 'rb') as f:
obj = pickle.load(f)
- if change_minor:
- v = mesonbuild.coredata.version.split('.')
- obj.version = '.'.join(v[0:2] + [str(int(v[2]) + 1)])
- else:
- obj.version = '0.47.0'
+ obj.version = '0.47.0'
with open(filename, 'wb') as f:
pickle.dump(obj, f)
@@ -2405,25 +2401,7 @@ class AllPlatformTests(BasePlatformTests):
testdir = os.path.join(self.common_test_dir, '157 custom target subdir depend files')
self.init(testdir)
self.__reconfigure()
-
- with Path(self.builddir):
- self.init(testdir, extra_args=['--wipe'])
-
- def test_minor_version_does_not_reconfigure_wipe(self):
- testdir = os.path.join(self.unit_test_dir, '48 reconfigure')
- self.init(testdir, extra_args=['-Dopt1=val1'])
- self.setconf('-Dopt2=val2')
-
- self.__reconfigure(change_minor=True)
-
- out = self.init(testdir, extra_args=['--reconfigure', '-Dopt3=val3'])
- self.assertNotRegex(out, 'Regenerating configuration from scratch')
- self.assertRegex(out, 'opt1 val1')
- self.assertRegex(out, 'opt2 val2')
- self.assertRegex(out, 'opt3 val3')
- self.assertRegex(out, 'opt4 default4')
- self.build()
- self.run_tests()
+ self.init(testdir, extra_args=['--wipe'], workdir=self.builddir)
def test_target_construct_id_from_path(self):
# This id is stable but not guessable.
diff --git a/unittests/internaltests.py b/unittests/internaltests.py
index 8cebeb8..a6f1ca5 100644
--- a/unittests/internaltests.py
+++ b/unittests/internaltests.py
@@ -34,8 +34,8 @@ import mesonbuild.dependencies.factory
import mesonbuild.compilers
import mesonbuild.envconfig
import mesonbuild.environment
-import mesonbuild.coredata
import mesonbuild.modules.gnome
+from mesonbuild import coredata
from mesonbuild.interpreterbase import typed_pos_args, InvalidArguments, ObjectHolder
from mesonbuild.interpreterbase import typed_pos_args, InvalidArguments, typed_kwargs, ContainerTypeInfo, KwargInfo
from mesonbuild.mesonlib import (
@@ -1527,3 +1527,17 @@ class InternalTests(unittest.TestCase):
self.assertRaises(mesonbuild.mesonlib.MesonBugException):
i = mesonbuild.interpreter.Interpreter(build, mock=True)
pickle.dumps(i)
+
+ def test_major_versions_differ(self) -> None:
+ # Return True when going to next major release, when going to dev cycle,
+ # when going to rc cycle or when going out of rc cycle.
+ self.assertTrue(coredata.major_versions_differ('0.59.0', '0.60.0'))
+ self.assertTrue(coredata.major_versions_differ('0.59.0', '0.59.99'))
+ self.assertTrue(coredata.major_versions_differ('0.59.0', '0.60.0.rc1'))
+ self.assertTrue(coredata.major_versions_differ('0.59.99', '0.60.0.rc1'))
+ self.assertTrue(coredata.major_versions_differ('0.60.0.rc1', '0.60.0'))
+ # Return False when going to next point release or when staying in dev/rc cycle.
+ self.assertFalse(coredata.major_versions_differ('0.60.0', '0.60.0'))
+ self.assertFalse(coredata.major_versions_differ('0.60.0', '0.60.1'))
+ self.assertFalse(coredata.major_versions_differ('0.59.99', '0.59.99'))
+ self.assertFalse(coredata.major_versions_differ('0.60.0.rc1', '0.60.0.rc2'))