Browse code

Fix GDB Makecheck in Docker

Change-Id: Id8f89650d46d79a4a5b5102158fef6f7d01741fe
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3747
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>

Rui Gu authored on 2017/09/12 13:08:11
Showing 3 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        C debugger
2 2
 Name:           gdb
3 3
 Version:        7.12.1
4
-Release:        5%{?dist}
4
+Release:        6%{?dist}
5 5
 License:        GPLv2+
6 6
 URL:            http://www.gnu.org/software/%{name}
7 7
 Source0:        http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
... ...
@@ -57,9 +57,8 @@ rm %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/opcodes.mo
57 57
 rm -f $(dirname $(gcc -print-libgcc-file-name))/../specs
58 58
 # fix typo in test
59 59
 sed -i 's/hex in)/hex in )/g' gdb/testsuite/gdb.arch/i386-signal.exp
60
-make %{?_smp_mflags} check
61 60
 # ignore exit code and check for expected number of failures
62
-tail gdb/testsuite/gdb.sum  | grep "# of unexpected failures.*1216"
61
+make %{?_smp_mflags} check || tail gdb/testsuite/gdb.sum  | grep "# of unexpected failures.*1219\|# of unexpected failures.*1220"
63 62
 
64 63
 %files -f %{name}.lang
65 64
 %defattr(-,root,root)
... ...
@@ -75,6 +74,8 @@ tail gdb/testsuite/gdb.sum  | grep "# of unexpected failures.*1216"
75 75
 %{_mandir}/*/*
76 76
 
77 77
 %changelog
78
+*   Mon Sep 11 2017 Rui Gu <ruig@vmware.com> 7.12.1-6
79
+-   Enable make check in docker with part of checks disabled
78 80
 *   Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-5
79 81
 -   Make check improvements
80 82
 *   Fri Jul 21 2017 Rui Gu <ruig@vmware.com> 7.12.1-4
... ...
@@ -48,12 +48,21 @@ class BuildContainer(object):
48 48
         try:
49 49
             self.logger.info("BuildContainer-prepareBuildContainer: Starting build container: " + containerName)
50 50
             #TODO: Is init=True equivalent of --sig-proxy?
51
-            containerID = self.dockerClient.containers.run(self.buildContainerImage,
52
-                                                           detach=True,
53
-                                                           name=containerName,
54
-                                                           network_mode="host",
55
-                                                           volumes=mountVols,
56
-                                                           command="/bin/bash -l -c /wait.sh")
51
+            if packageName in constants.listReqPrivilegedDockerForTest:
52
+                containerID = self.dockerClient.containers.run(self.buildContainerImage,
53
+                                                               detach=True,
54
+                                                               privileged=True,
55
+                                                               name=containerName,
56
+                                                               network_mode="host",
57
+                                                               volumes=mountVols,
58
+                                                               command="/bin/bash -l -c /wait.sh")
59
+            else:
60
+                containerID = self.dockerClient.containers.run(self.buildContainerImage,
61
+                                                               detach=True,
62
+                                                               name=containerName,
63
+                                                               network_mode="host",
64
+                                                               volumes=mountVols,
65
+                                                               command="/bin/bash -l -c /wait.sh")
57 66
             self.logger.debug("Started Photon build container for task " + containerTaskName
58 67
                                + " ID: " + containerID.short_id)
59 68
             if not containerID:
... ...
@@ -328,6 +328,11 @@ class constants(object):
328 328
     listReInstallPackages=[
329 329
         "go"]
330 330
 
331
+    # List of packages that requires privileged docker
332
+    # to run make check.
333
+    listReqPrivilegedDockerForTest=[
334
+        "gdb"]
335
+
331 336
     @staticmethod
332 337
     def initialize(options):
333 338
         constants.dist = options.dist