Changeset: de2db5c50d6d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/de2db5c50d6d
Modified Files:
        sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.py
        sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.py
        sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.py
        sql/test/emptydb-previous-upgrade/Tests/upgrade.py
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.py
        sql/test/emptydb-upgrade-chain/Tests/upgrade.py
        sql/test/emptydb-upgrade-hge/Tests/upgrade.py
        sql/test/emptydb-upgrade/Tests/upgrade.py
        sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.py
        sql/test/testdb-previous-upgrade-chain/Tests/upgrade.py
        sql/test/testdb-previous-upgrade-hge/Tests/upgrade.py
        sql/test/testdb-previous-upgrade/Tests/upgrade.py
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.py
        sql/test/testdb-upgrade-chain/Tests/upgrade.py
        sql/test/testdb-upgrade-hge/Tests/upgrade.py
        sql/test/testdb-upgrade/Tests/upgrade.py
        testing/Mtest.py.in
Branch: Dec2025
Log Message:

Implemented a relatively easy way to do upgrade testing.
Mtest.py has a number of new arguments that can be used to setup upgrade
testing.  The arguments are:
--upgrade-farms=URL
--lastrelease=RELEASE-NAME
--prevrelease=RELEASE-NAME
--testtools=PATH-TO-TESTTOOLS-DIRECTORY
The URL for --upgrade-farms is normally
https://www.monetdb.org/testweb/dbfarms, but could also be a local copy.
If --testtools is given, --lastrelease and --prevrelease are not needed.
The release name is either the name of a release (e.g. Dec2025 or
Dec2025-SP4), or the tag for the release (e.g. Dec2025_1 or Dec2025_9).
The last release should be the actual last released version (currently
Dec2025-SP4).  The previous release should be the last bug-fix version
of the previous major release (currently Mar2025-SP3).


diffs (truncated from 781 to 300 lines):

diff --git a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.py 
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.py
--- a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.py
+++ b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'prevhgechainrelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+prevrelease = os.environ.get('PREVRELEASE')
+if url is not None and prevrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{prevrelease}/{arch}-empty-int128-chain.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.py 
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.py
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.py
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'prevchainrelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+prevrelease = os.environ.get('PREVRELEASE')
+if url is not None and prevrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{prevrelease}/{arch}-empty-chain.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.py 
b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.py
--- a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.py
+++ b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'prevhgerelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+prevrelease = os.environ.get('PREVRELEASE')
+if url is not None and prevrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{prevrelease}/{arch}-empty-int128.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.py 
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.py
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.py
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'prevrelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+prevrelease = os.environ.get('PREVRELEASE')
+if url is not None and prevrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   f'{u[2]}/{prevrelease}/{arch}-empty.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.py 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.py
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.py
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'lasthgechainrelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+lastrelease = os.environ.get('LASTRELEASE')
+if url is not None and lastrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{lastrelease}/{arch}-empty-int128-chain.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.py 
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.py
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.py
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'lastchainrelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+lastrelease = os.environ.get('LASTRELEASE')
+if url is not None and lastrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{lastrelease}/{arch}-empty-chain.zip',
+                                   '', ''))
+    with urllib.request.urlopen(url) as r, \
+         open(archive, 'wb') as f:
+        f.write(r.read())
+
+# find zipped database
 if not os.path.exists(archive):
     print('file "{}" not found'.format(archive), file=sys.stderr)
     sys.exit(1)
diff --git a/sql/test/emptydb-upgrade-hge/Tests/upgrade.py 
b/sql/test/emptydb-upgrade-hge/Tests/upgrade.py
--- a/sql/test/emptydb-upgrade-hge/Tests/upgrade.py
+++ b/sql/test/emptydb-upgrade-hge/Tests/upgrade.py
@@ -9,14 +9,38 @@ try:
 except ImportError:
     import process
 
-import sys, os, zipfile, platform
+import sys
+import os
+import zipfile
+import platform
+import urllib.request
+import urllib.parse
 
 xit = 0
 
-# find zipped database
 dbfarm = os.environ['GDK_DBFARM']
 db = os.path.join(dbfarm, os.environ['TSTDB'])
 archive = os.path.join(dbfarm, 'lasthgerelempty.zip')
+
+url = os.environ.get('UPGRADE_DBFARMS')
+lastrelease = os.environ.get('LASTRELEASE')
+if url is not None and lastrelease is not None:
+    if sys.byteorder == 'little':
+        if os.environ.get('TST_BITS', '64bit') == '64bit':
+            arch = 'x86_64'
+        else:
+            arch = 'i386'
+    else:
+        arch = 's390x'
+    u = urllib.parse.urlsplit(url)
+    url = urllib.parse.urlunsplit((u[0], u[1],
+                                   
f'{u[2]}/{lastrelease}/{arch}-empty-int128.zip',
+                                   '', ''))
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to