Exemplo n.º 1
0
def test_working_dir():
    working_dir = sys.exec_prefix.strip(os.pathsep)
    p = Process(sys.executable, ['-c', '''import os; print(os.getcwd())'''],
                working_dir=working_dir)
    p.start()
    p.wait()
    assert p.read().decode('ascii').strip() == working_dir
Exemplo n.º 2
0
def test_environment():
    p = Process(sys.executable, ['-c', PRINT_VAR.format(var='MY_VAR')],
                env={'MY_VAR': 'My value'})
    p.start()
    p.wait()
    assert p.exit_code == 0
    assert re.match('^My value\s*$', p.read().decode('ascii'))
    assert re.match('^$', p.eread().decode('ascii'))
Exemplo n.º 3
0
def test_stderr(tmpdir):
    stderr = tmpdir.mkdir('__tests__').join('std.err')
    p = Process(sys.executable, ['-c', WRITER.format(out='stderr')],
                stderr=stderr.strpath)
    p.start()
    p.wait()
    assert p.eread() == b'foobar'
    assert stderr.open('rb').read() == b'foobar'
Exemplo n.º 4
0
def test_write():
    p = Process(sys.executable, [
        '-c', '''a = {}(); print('Said: ' + a)'''.format(
            'raw_input' if six.PY2 else 'input')
    ])
    p.start()
    p.write(b'my hello text')
    p.wait()
    assert re.match('^Said: my hello text\s*$', p.read().decode('ascii'))
    assert re.match('^$', p.eread().decode('ascii'))
Exemplo n.º 5
0
def test_eread():
    p = Process(sys.executable, ['-c', WRITER.format(out='stderr')])
    p.start()
    if platform.is_a(platform.DOTNET):
        # TODO: .NET does not flush the outputs
        p.wait()
        assert p.read() == b''
        assert p.eread() == b'foobar'
    else:
        time.sleep(1)
        assert p.read() == b''
        assert p.eread() == b'foo'
        p.wait()
        assert p.read() == b''
        assert p.eread() == b'bar'
Exemplo n.º 6
0
def process():
    return Process('sleep', ['2'])