1
Fork 0

Use args.workdir in StatFile if it exists

This commit is contained in:
Matvey Kruglov 2015-04-04 16:19:47 +03:00 committed by Mikhail Sobolev
parent 773f46d1f1
commit 2cb46ba2f3
2 changed files with 20 additions and 1 deletions

View File

@ -202,7 +202,7 @@ class StatFile(base.Command):
requireArgs = ['file']
def start(self):
filename = os.path.join(self.builder.basedir, self.args['file'])
filename = os.path.join(self.builder.basedir, self.args.get('workdir', ''), self.args['file'])
try:
stat = os.stat(filename)

View File

@ -233,6 +233,25 @@ class TestStatFile(CommandTestMixin, unittest.TestCase):
d.addCallback(check)
return d
def test_file_workdir(self):
self.make_command(fs.StatFile, dict(
file='test-file',
workdir='wd'
), True)
os.mkdir(os.path.join(self.basedir, 'wd'))
open(os.path.join(self.basedir, 'wd', 'test-file'), "w")
d = self.run_command()
def check(_):
import stat
self.assertTrue(stat.S_ISREG(self.get_updates()[0]['stat'][stat.ST_MODE]))
self.assertIn({'rc': 0},
self.get_updates(),
self.builder.show())
d.addCallback(check)
return d
class TestGlobPath(CommandTestMixin, unittest.TestCase):