Browse code

glibc: fix makecheck for docker environment

extras:
- mount /dev/shm as /tmp into container
- use privileged mode for glibc build

Change-Id: Ibc7298aaeda60ecaa8f492ca42eed501052d330c
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3751
Reviewed-by: Vinay Kulkarni <kulkarniv@vmware.com>
Tested-by: gerrit-photon <photon-checkins@vmware.com>

Alexey Makhalov authored on 2017/09/13 07:20:40
Showing 3 changed files
... ...
@@ -4,7 +4,7 @@
4 4
 Summary:	Main C library
5 5
 Name:		glibc
6 6
 Version:	2.26
7
-Release:	2%{?dist}
7
+Release:	3%{?dist}
8 8
 License:	LGPLv2+
9 9
 URL:		http://www.gnu.org/software/libc
10 10
 Group:		Applications/System
... ...
@@ -170,14 +170,17 @@ sed -i 's@#!/bin/bash@#!/bin/sh@' %{buildroot}/usr/bin/tzselect
170 170
 %check
171 171
 cd %{_builddir}/glibc-build
172 172
 make %{?_smp_mflags} check ||:
173
-# 2 intermittent failures and 2 stable false positives are OK
173
+# These 2 persistant false positives are OK
174 174
 # XPASS for: elf/tst-protected1a and elf/tst-protected1b
175 175
 [ `grep ^XPASS tests.sum | wc -l` -ne 2 -a `grep "^XPASS: elf/tst-protected1[ab]" tests.sum | wc -l` -ne 2 ] && exit 1 ||:
176 176
 
177
-# FAIL (intermittent) for posix/tst-spawn3 and stdio-common/test-vfprintf
177
+# FAIL (intermittent) in chroot but PASS in container:
178
+# posix/tst-spawn3 and stdio-common/test-vfprintf
178 179
 n=0
179 180
 grep "^FAIL: posix/tst-spawn3" tests.sum >/dev/null && n=$((n+1)) ||:
180 181
 grep "^FAIL: stdio-common/test-vfprintf" tests.sum >/dev/null && n=$((n+1)) ||:
182
+# FAIL always on overlayfs/aufs (in container)
183
+grep "^FAIL: posix/tst-dir" tests.sum >/dev/null && n=$((n+1)) ||:
181 184
 # check for exact 'n' failures
182 185
 [ `grep ^FAIL tests.sum | wc -l` -ne $n ] && exit 1 ||:
183 186
 
... ...
@@ -268,6 +271,8 @@ grep "^FAIL: stdio-common/test-vfprintf" tests.sum >/dev/null && n=$((n+1)) ||:
268 268
 
269 269
 
270 270
 %changelog
271
+*   Tue Sep 12 2017 Alexey Makhalov <amakhalov@vmware.com> 2.26-3
272
+-   Fix makecheck for run in docker.
271 273
 *   Tue Aug 29 2017 Alexey Makhalov <amakhalov@vmware.com> 2.26-2
272 274
 -   Fix tunables setter.
273 275
 -   Add malloc arena fix.
... ...
@@ -31,6 +31,7 @@ class BuildContainer(object):
31 31
         mountVols = {
32 32
                         constants.prevPublishRPMRepo: {'bind': '/publishrpms', 'mode': 'ro'},
33 33
                         constants.prevPublishXRPMRepo: {'bind': '/publishxrpms', 'mode': 'ro'},
34
+                        constants.tmpDirPath: {'bind': '/tmp', 'mode': 'rw'},
34 35
                         constants.rpmPath: {'bind': constants.topDirPath + "/RPMS", 'mode': 'rw'},
35 36
                         constants.sourceRpmPath: {'bind': constants.topDirPath + "/SRPMS", 'mode': 'rw'},
36 37
                         constants.logPath + "/" + self.logName: {'bind': constants.topDirPath + "/LOGS", 'mode': 'rw'},
... ...
@@ -331,7 +331,8 @@ class constants(object):
331 331
     # List of packages that requires privileged docker
332 332
     # to run make check.
333 333
     listReqPrivilegedDockerForTest=[
334
-        "gdb"]
334
+        "gdb",
335
+        "glibc" ]
335 336
 
336 337
     @staticmethod
337 338
     def initialize(options):
... ...
@@ -356,6 +357,7 @@ class constants(object):
356 356
         constants.rpmCheckStopOnError = options.rpmCheckStopOnError
357 357
         constants.publishBuildDependencies=options.publishBuildDependencies
358 358
         constants.packageWeightsPath=options.packageWeightsPath
359
+        constants.tmpDirPath = "/dev/shm"
359 360
         if constants.rpmCheck:
360 361
             constants.testLogger=Logger.getLogger("MakeCheckTest",constants.logPath)
361 362
         constants.updateRPMMacros()