autobuild: Allow automatic handling of autobuild tasks ending in -py3
authorAndrew Bartlett <abartlet@samba.org>
Thu, 16 Aug 2018 01:48:21 +0000 (13:48 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 25 Aug 2018 09:53:15 +0000 (11:53 +0200)
This will allow splitting up of the python2 and python3 tests without
duplication of this already complex file.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat Aug 25 11:53:15 CEST 2018 on sn-devel-144

script/autobuild.py

index 8ffa6d446976305e6ce5b4393378679399279341..5fac8d312d2881e8f75c83445c659c8a51181659 100755 (executable)
@@ -404,8 +404,9 @@ def run_cmd(cmd, dir=".", show=None, output=False, checkfail=True):
 class builder(object):
     '''handle build of one directory'''
 
 class builder(object):
     '''handle build of one directory'''
 
-    def __init__(self, name, sequence, cp=True):
+    def __init__(self, name, sequence, cp=True, py3=False):
         self.name = name
         self.name = name
+        self.py3 = py3
         self.dir = builddirs[name]
 
         self.tag = self.name.replace('/', '_')
         self.dir = builddirs[name]
 
         self.tag = self.name.replace('/', '_')
@@ -474,7 +475,13 @@ class buildlist(object):
             os.environ['AUTOBUILD_RANDOM_SLEEP_OVERRIDE'] = '1'
 
         for n in tasknames:
             os.environ['AUTOBUILD_RANDOM_SLEEP_OVERRIDE'] = '1'
 
         for n in tasknames:
-            b = builder(n, tasks[n], cp=n is not "pidl")
+            if n not in tasknames and n.endswith("-py3"):
+                b = builder(n,
+                            tasks[n[:-4]],
+                            cp=n is not "pidl",
+                            py3=True)
+            else:
+                b = builder(n, tasks[n], cp=n is not "pidl")
             self.tlist.append(b)
         if options.retry:
             rebase_remote = "rebaseon"
             self.tlist.append(b)
         if options.retry:
             rebase_remote = "rebaseon"