1 |
commit: ff8ceaa0d7f2b2ea2bde774d980ace0c141b7241 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue May 31 19:13:35 2011 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 31 19:13:35 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms-test-suite.git;a=commit;h=ff8ceaa0 |
7 |
|
8 |
Commonize emerge spawning code. |
9 |
|
10 |
--- |
11 |
PMSTestSuite/pm/portagepm.py | 16 +++++++--------- |
12 |
1 files changed, 7 insertions(+), 9 deletions(-) |
13 |
|
14 |
diff --git a/PMSTestSuite/pm/portagepm.py b/PMSTestSuite/pm/portagepm.py |
15 |
index 4b1e751..768ff23 100644 |
16 |
--- a/PMSTestSuite/pm/portagepm.py |
17 |
+++ b/PMSTestSuite/pm/portagepm.py |
18 |
@@ -35,11 +35,15 @@ class PortagePM(PackageManager): |
19 |
subprocess.check_call([self.repoman_path, 'manifest']) |
20 |
os.chdir(startdir) |
21 |
|
22 |
- def call_emerge(self, cpvs, opts = []): |
23 |
- return subprocess.call([self.emerge_path] + opts + self.pm_options |
24 |
+ def spawn_emerge(self, cpvs, opts = []): |
25 |
+ return subprocess.Popen([self.emerge_path] + opts + self.pm_options |
26 |
+ ['=%s' % cpv for cpv in cpvs], |
27 |
env = {'PORTDIR_OVERLAY': ' '.join(self.repo_paths)}) |
28 |
|
29 |
+ def call_emerge(self, *args, **kwargs): |
30 |
+ p = self.spawn_emerge(*args, **kwargs) |
31 |
+ return p.wait() |
32 |
+ |
33 |
def merge(self, cpvs): |
34 |
ret = self.call_emerge(cpvs) |
35 |
return ret == 0 |
36 |
@@ -48,14 +52,8 @@ class PortagePM(PackageManager): |
37 |
ret = self.call_emerge(cpvs, ['--unmerge']) |
38 |
return ret == 0 |
39 |
|
40 |
- def spawn_emerge(self, cpvs, opts = []): |
41 |
- p = subprocess.Popen([self.emerge_path] + opts + self.pm_options |
42 |
- + ['=%s' % cpv for cpv in cpvs], |
43 |
- env = {'PORTDIR_OVERLAY': ' '.join(self.repo_paths)}) |
44 |
- return p.pid |
45 |
- |
46 |
def merge_async(self, cpvs): |
47 |
- return self.spawn_emerge(cpvs) |
48 |
+ return self.spawn_emerge(cpvs).pid |
49 |
|
50 |
_vardb = None |
51 |
@property |