aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2016-01-16 18:52:02 -0800
committerZac Medico <zmedico@gentoo.org>2016-01-16 18:54:27 -0800
commit44aeab7fad440a289316ced8738b287d88d475d0 (patch)
treeddc0ae4dc15d19901ba3c61e3e8584ad5625f179
parentportage.xml.metadata: Include maintainer type per GLEP 67 (diff)
downloadportage-44aeab7f.tar.gz
portage-44aeab7f.tar.bz2
portage-44aeab7f.zip
DoebuildFdPipesTestCase: use extra pipe for test output
Since commit 3767128cf08a0a21559eb9c41ba393dcabc6f087, this test has failed due to additional output produced by src_install. Fix it to use a separate pipe for test output.
-rw-r--r--pym/portage/tests/ebuild/test_doebuild_fd_pipes.py36
1 files changed, 18 insertions, 18 deletions
diff --git a/pym/portage/tests/ebuild/test_doebuild_fd_pipes.py b/pym/portage/tests/ebuild/test_doebuild_fd_pipes.py
index 2a6553736..b89421822 100644
--- a/pym/portage/tests/ebuild/test_doebuild_fd_pipes.py
+++ b/pym/portage/tests/ebuild/test_doebuild_fd_pipes.py
@@ -1,8 +1,6 @@
-# Copyright 2013-2015 Gentoo Foundation
+# Copyright 2013-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-import textwrap
-
import portage
from portage import os
from portage.tests import TestCase
@@ -10,7 +8,6 @@ from portage.tests.resolver.ResolverPlayground import ResolverPlayground
from portage.package.ebuild._ipc.QueryCommand import QueryCommand
from portage.util._async.ForkProcess import ForkProcess
from portage.util._async.TaskScheduler import TaskScheduler
-from portage.util._eventloop.global_event_loop import global_event_loop
from _emerge.Package import Package
from _emerge.PipeReader import PipeReader
@@ -31,19 +28,16 @@ class DoebuildFdPipesTestCase(TestCase):
supported for API consumers (see bug #475812).
"""
- ebuild_body = textwrap.dedent("""
- S=${WORKDIR}
- pkg_info() { echo info ; }
- pkg_nofetch() { echo nofetch ; }
- pkg_pretend() { echo pretend ; }
- pkg_setup() { echo setup ; }
- src_unpack() { echo unpack ; }
- src_prepare() { echo prepare ; }
- src_configure() { echo configure ; }
- src_compile() { echo compile ; }
- src_test() { echo test ; }
- src_install() { echo install ; }
- """)
+ output_fd = 200
+ ebuild_body = ['S=${WORKDIR}']
+ for phase_func in ('pkg_info', 'pkg_nofetch', 'pkg_pretend',
+ 'pkg_setup', 'src_unpack', 'src_prepare', 'src_configure',
+ 'src_compile', 'src_test', 'src_install'):
+ ebuild_body.append(('%s() { echo ${EBUILD_PHASE}'
+ ' 1>&%s; }') % (phase_func, output_fd))
+
+ ebuild_body.append('')
+ ebuild_body = '\n'.join(ebuild_body)
ebuilds = {
'app-misct/foo-1': {
@@ -60,6 +54,7 @@ class DoebuildFdPipesTestCase(TestCase):
self.assertEqual(true_binary is None, False,
"true command not found")
+ dev_null = open(os.devnull, 'wb')
playground = ResolverPlayground(ebuilds=ebuilds)
try:
QueryCommand._db = playground.trees
@@ -106,7 +101,11 @@ class DoebuildFdPipesTestCase(TestCase):
doebuild_kwargs={"settings" : settings,
"mydbapi": portdb, "tree": "porttree",
"vartree": root_config.trees["vartree"],
- "fd_pipes": {1: pw, 2: pw},
+ "fd_pipes": {
+ 1: dev_null.fileno(),
+ 2: dev_null.fileno(),
+ output_fd: pw,
+ },
"prev_mtimes": {}})
consumer = PipeReader(
@@ -134,5 +133,6 @@ class DoebuildFdPipesTestCase(TestCase):
self.assertEqual(phase, output)
finally:
+ dev_null.close()
playground.cleanup()
QueryCommand._db = None