commit:     91feadebbf3440dbd1ac39fec3c7c61c8f5d6d5a
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  6 20:05:38 2015 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sat Jun  6 20:05:38 2015 +0000
URL:        
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=91feadeb

add support for test in FEATURES

 tbc/pym/build_job.py | 27 +++++++++++++++++----------
 tbc/pym/qachecks.py  |  7 ++++---
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/tbc/pym/build_job.py b/tbc/pym/build_job.py
index 25649fb..8b8d393 100644
--- a/tbc/pym/build_job.py
+++ b/tbc/pym/build_job.py
@@ -66,6 +66,7 @@ class build_job_action(object):
        def build_procces(self, buildqueru_cpv_dict, build_dict, settings, 
portdb):
                build_cpv_list = []
                depclean_fail = True
+               disable_test_features = False
                for k, build_use_flags_list in buildqueru_cpv_dict.items():
                        build_cpv_list.append("=" + k)
                        if not build_use_flags_list == None:
@@ -79,16 +80,22 @@ class build_job_action(object):
                                        f.write(filetext)
                                        f.write('\n')
                                        f.close
-                               restrictions_dict = 
get_ebuild_restrictions(self._session, build_dict['ebuild_id'])
-                               if restrictions_dict:
-                                       if "test" in restrictions_dict:
-                                               filetext = k + ' ' + 
'notest.conf'
-                                               log_msg = "filetext: %s" % 
filetext
-                                               add_logs(self._session, 
log_msg, "info", self._config_id)
-                                               with 
open("/etc/portage/package.env", "a") as f:
-                                                       f.write(filetext)
-                                                       f.write('\n')
-                                                       f.close
+               if not build_dict['build_useflags'] is None:
+                       if "test" in build_dict['build_useflags'] and "test" in 
settings.features:
+                               if build_dict['build_useflags']['test'] is 
False:
+                                       disable_test_features = True
+               restrictions_dict = get_ebuild_restrictions(self._session, 
build_dict['ebuild_id'])
+               if restrictions_dict:
+                       if "test" in restrictions_dict:
+                               disable_test_features = True
+               if disable_test_features:
+                       filetext = k + ' ' + 'notest.conf'
+                       log_msg = "filetext: %s" % filetext
+                       add_logs(self._session, log_msg, "info", 
self._config_id)
+                       with open("/etc/portage/package.env", "a") as f:
+                               f.write(filetext)
+                               f.write('\n')
+                               f.close
                log_msg = "build_cpv_list: %s" % (build_cpv_list,)
                add_logs(self._session, log_msg, "info", self._config_id)
 

diff --git a/tbc/pym/qachecks.py b/tbc/pym/qachecks.py
index f1d0fb1..b0d10f8 100644
--- a/tbc/pym/qachecks.py
+++ b/tbc/pym/qachecks.py
@@ -6,6 +6,7 @@ import warnings
 import sys
 import codecs
 from portage import os, _encodings, _unicode_decode
+from portage.checksum import _hash_filter
 from portage.exception import DigestException, FileNotFound
 from portage.localization import _
 from portage.manifest import Manifest
@@ -122,14 +123,14 @@ def check_file_in_manifest(pkgdir, mysettings, portdb, 
cpv, build_use_flags_list
                return "Ebuild file not found."
        tree = portdb.getRepositoryPath(repo)
        cpv_fetchmap = portdb.getFetchMap(cpv, useflags=build_use_flags_list, 
mytree=tree)
-       self._mysettings.unlock()
+       mysettings.unlock()
        try:
                portage.fetch(cpv_fetchmap, mysettings, listonly=0, 
fetchonly=0, locks_in_subdir='.locks', use_locks=1, try_mirrors=1)
        except:
-               self._mysettings.lock()
+               mysettings.lock()
                return "Can't fetch the file."
        finally:
-               self._mysettings.lock()
+               mysettings.lock()
        try:
                my_manifest.checkCpvHashes(cpv, checkDistfiles=True, 
onlyDistfiles=False, checkMiscfiles=True)
        except:

Reply via email to