~danken/python-fixtures/staticmethod

« back to all changes in this revision

Viewing changes to lib/fixtures/_fixtures/popen.py

  • Committer: Robert Collins
  • Date: 2013-08-16 03:03:08 UTC
  • Revision ID: robertc@robertcollins.net-20130816030308-q7lxzdli1np3jwah
* ``FakePopen`` can now override the returncode attribute.
  (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
        self.stdout = info.get('stdout')
34
34
        self.stderr = info.get('stderr')
35
35
        self.pid = random.randint(0, 65536)
 
36
        self._returncode = info.get('returncode', 0)
36
37
        self.returncode = None
37
38
 
38
39
    def communicate(self):
39
 
        self.returncode = 0
 
40
        self.returncode = self._returncode
40
41
        if self.stdout:
41
42
            out = self.stdout.getvalue()
42
43
        else:
48
49
        return out, err
49
50
 
50
51
    def wait(self):
 
52
        if self.returncode is None:
 
53
            self.communicate()
51
54
        return self.returncode
52
55
 
53
56