# # test various combinations involving multiple pipelines on one # command line # import os from tempfile import mkstemp from testutils import * setup_tests() expect_prompt() _, tmpfile = mkstemp() try: os.close(_) sendline('echo hi | cat > {0}; < {1} rev | cat | rev | rev'.format(tmpfile, tmpfile)) expect_exact("ih\r\n", "multiple I/O + cats + revs didn't work") expect_prompt("Shell did not print expected prompt (2)") sendline('sh -c "echo $#" a b | grep -c 1 > {0}; cat < {1}'.format(tmpfile, tmpfile)) expect_exact("1\r\n", "double quotes do not work") expect_prompt("Shell did not print expected prompt (3)") sendline('sh -c "echo $#" a b c | grep -c 2 > {0}; cat < {1}'.format(tmpfile, tmpfile)) expect_exact("1\r\n", "double quotes do not work") expect_prompt("Shell did not print expected prompt (4)") sendline('sh -c "echo $#" a "b c" | grep -c 1 > {0}; cat < {1}'.format(tmpfile, tmpfile)) expect_exact("1\r\n", "double quotes do not work") expect_prompt("Shell did not print expected prompt (5)") sendline('rm {0}; touch {0}; echo "hi" > {0}; rev < {0}'.format(tmpfile, tmpfile, tmpfile, tmpfile)) expect_exact("ih\r\n", "I/O redirect files aren't created in order") expect_prompt("Shell did not print expected prompt (6)") finally: removefile(tmpfile) test_success()