def test_scripts(self): with PipenvInstance(chdir=True) as p: with open(p.pipfile_path, 'w') as f: f.write(r""" [scripts] printfoo = "python -c \"print('foo')\"" notfoundscript = "randomthingtotally" appendscript = "cmd arg1" multicommand = "bash -c \"cd docs && make html\"" """) c = p.pipenv('install') assert c.return_code == 0 c = p.pipenv('run printfoo') assert c.return_code == 0 assert c.out == 'foo\n' assert c.err == '' c = p.pipenv('run notfoundscript') assert c.return_code == 1 assert c.out == '' if os.name != 'nt': # TODO: Implement this message for Windows. assert 'Error' in c.err assert 'randomthingtotally (from notfoundscript)' in c.err project = Project() script = project.build_script('multicommand') assert script.command == 'bash' assert script.args == ['-c', 'cd docs && make html'] script = project.build_script('appendscript', ['a', 'b']) assert script.command == 'cmd' assert script.args == ['arg1', 'a', 'b']
def test_scripts(PipenvInstance): with PipenvInstance(chdir=True) as p: with open(p.pipfile_path, 'w') as f: f.write(r""" [scripts] printfoo = "python -c \"print('foo')\"" notfoundscript = "randomthingtotally" appendscript = "cmd arg1" multicommand = "bash -c \"cd docs && make html\"" """) c = p.pipenv('install') assert c.return_code == 0 c = p.pipenv('run printfoo') assert c.return_code == 0 assert c.out == 'foo\n' assert c.err == '' c = p.pipenv('run notfoundscript') assert c.return_code == 1 assert c.out == '' if os.name != 'nt': # TODO: Implement this message for Windows. assert 'Error' in c.err assert 'randomthingtotally (from notfoundscript)' in c.err project = Project() script = project.build_script('multicommand') assert script.command == 'bash' assert script.args == ['-c', 'cd docs && make html'] script = project.build_script('appendscript', ['a', 'b']) assert script.command == 'cmd' assert script.args == ['arg1', 'a', 'b']
def test_scripts(PipenvInstance): with PipenvInstance(chdir=True) as p: with open(p.pipfile_path, 'w') as f: f.write(r""" [scripts] printfoo = "python -c \"print('foo')\"" notfoundscript = "randomthingtotally" appendscript = "cmd arg1" multicommand = "bash -c \"cd docs && make html\"" """) if os.name == "nt": f.write('scriptwithenv = "echo %HELLO%"\n') else: f.write('scriptwithenv = "echo $HELLO"\n') c = p.pipenv('install') assert c.return_code == 0 c = p.pipenv('run printfoo') assert c.return_code == 0 assert c.out == 'foo\n' assert c.err == '' c = p.pipenv('run notfoundscript') assert c.return_code == 1 assert c.out == '' if os.name != 'nt': # TODO: Implement this message for Windows. assert 'Error' in c.err assert 'randomthingtotally (from notfoundscript)' in c.err project = Project() script = project.build_script('multicommand') assert script.command == 'bash' assert script.args == ['-c', 'cd docs && make html'] script = project.build_script('appendscript', ['a', 'b']) assert script.command == 'cmd' assert script.args == ['arg1', 'a', 'b'] with temp_environ(): os.environ['HELLO'] = 'WORLD' c = p.pipenv("run scriptwithenv") assert c.ok if os.name != "nt": # This doesn't work on CI windows. assert c.out.strip() == "WORLD"