public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: pym/portage/tests/resolver/, repoman/pym/repoman/tests/
@ 2018-04-07  2:08 Zac Medico
  0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2018-04-07  2:08 UTC (permalink / raw
  To: gentoo-commits

commit:     1733e574716d2e904dcd9b0338a61fbfe0a798e7
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  7 00:32:43 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Apr  7 01:42:01 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=1733e574

ResolverPlayground: create ${EPREFIX}/usr/share/repoman

This solves the following issue when running the tests with
an installed instance of repoman like we do in travis:

testSimple (repoman.tests.simple.test_simple.SimpleRepomanTestCase) ... Traceback (most recent call last):
  File "/usr/bin/repoman", line 44, in <module>
    repoman_main(sys.argv[1:])
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/repoman/main.py", line 95, in repoman_main
    repoman_settings, vcs_settings, options, qadata)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/repoman/repos.py", line 56, in __init__
    if not self.qadata.load_repo_config(self.masters_list, options, repoman_settings.valid_versions):
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/repoman/qa_data.py", line 46, in load_repo_config
    repomanpaths = [os.path.join(cnfdir, _file_) for _file_ in os.listdir(cnfdir)]
OSError: [Errno 2] No such file or directory: '/tmp/tmpWkrEvP/usr/share/repoman/qa_data'

 pym/portage/tests/resolver/ResolverPlayground.py | 10 ++++++++++
 repoman/pym/repoman/tests/__init__.py            |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py
index d3a5d8092..e2e061669 100644
--- a/pym/portage/tests/resolver/ResolverPlayground.py
+++ b/pym/portage/tests/resolver/ResolverPlayground.py
@@ -26,6 +26,11 @@ from _emerge.create_depgraph_params import create_depgraph_params
 from _emerge.depgraph import backtrack_depgraph
 from _emerge.RootConfig import RootConfig
 
+try:
+	from repoman.tests import cnf_path_repoman
+except ImportError:
+	cnf_path_repoman = None
+
 if sys.hexversion >= 0x3000000:
 	# pylint: disable=W0622
 	basestring = str
@@ -457,6 +462,11 @@ class ResolverPlayground(object):
 				for line in lines:
 					f.write("%s\n" % line)
 
+		if cnf_path_repoman is not None:
+			#Create /usr/share/repoman
+			repoman_share_dir = os.path.join(self.eroot, 'usr', 'share', 'repoman')
+			os.symlink(cnf_path_repoman, repoman_share_dir)
+
 	def _create_world(self, world, world_sets):
 		#Create /var/lib/portage/world
 		var_lib_portage = os.path.join(self.eroot, "var", "lib", "portage")

diff --git a/repoman/pym/repoman/tests/__init__.py b/repoman/pym/repoman/tests/__init__.py
index 3421493f4..d57ca9b10 100644
--- a/repoman/pym/repoman/tests/__init__.py
+++ b/repoman/pym/repoman/tests/__init__.py
@@ -33,11 +33,14 @@ from portage.const import EPREFIX, GLOBAL_CONFIG_PATH, PORTAGE_BIN_PATH
 
 if repoman._not_installed:
 	cnf_path = os.path.join(REPOMAN_BASE_PATH, 'cnf')
+	cnf_path_repoman = cnf_path
 	cnf_etc_path = cnf_path
 	cnf_bindir = os.path.join(REPOMAN_BASE_PATH, 'bin')
 	cnf_sbindir = cnf_bindir
 else:
 	cnf_path = os.path.join(EPREFIX or '/', GLOBAL_CONFIG_PATH)
+	cnf_path_repoman = os.path.join(EPREFIX or '/',
+		sys.prefix.lstrip(os.sep), 'share', 'repoman')
 	cnf_etc_path = os.path.join(EPREFIX or '/', 'etc')
 	cnf_eprefix = EPREFIX
 	cnf_bindir = os.path.join(EPREFIX or '/', 'usr', 'bin')


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-04-07  2:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-07  2:08 [gentoo-commits] proj/portage:master commit in: pym/portage/tests/resolver/, repoman/pym/repoman/tests/ Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox