git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] t/lib-terminal: test test-terminal's sanity

From
Thomas Rast <trast@student.ethz.ch>
Date
Dec 12, 2011, 18:09 UTC
Message-ID
<44602402ecfd0e49c202f03e87540934aa23bce0.1323713230.git.trast@student.ethz.ch>
In-Reply-To
<b97d14da67bd6097e5b04f6ae3057c0f1d536a0b.1323713230.git.trast@student.ethz.ch>

The previous two commits show that getting test-terminal.perl right is not trivial. Let lib-terminal.sh run a simple test that ensures it actually opens TTYs for std{in,out,err} and that it does not let stdin pass through.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---
 t/lib-terminal.sh |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
index 58d911d..9e4ff9c 100644
--- a/t/lib-terminal.sh
+++ b/t/lib-terminal.sh
@@ -33,3 +33,22 @@ test_expect_success PERL 'set up terminal for tests' '
 		}
 	fi
 '
+
+cat >expect1 <<EOF
+stdin: 1
+stdout: 1
+stderr: 1
+EOF
+: >expect2
+
+test_expect_success TTY 'test-terminal.perl is sane' '
+	test_terminal perl -e "
+		use POSIX qw(isatty);
+		print \"stdin: \", isatty(STDIN), \"\\n\";
+		print \"stdout: \", isatty(STDOUT), \"\\n\";
+		print \"stderr: \", isatty(STDERR), \"\\n\";
+	" >actual1 &&
+	test_cmp expect1 actual1 &&
+	echo foo | test_terminal cat - >actual2 &&
+	test_cmp expect2 actual2
+'
-- 
1.7.8.431.g2abf2
Previous: Jonathan NiederNext: Jonathan Nieder
Message 6 of 16 in “test-terminal: give the child an empty stdin TTY”
  1. 1/3 test-terminal: give the child an empty stdin TTYThomas Rast, Dec 12, 2011
  2. 2/3 test-terminal: set output terminals to raw modeThomas Rast, Dec 12, 2011
  3. Jonathan NiederDec 12, 2011
  4. Thomas RastDec 12, 2011
  5. Jonathan NiederDec 13, 2011
  6. 3/3 t/lib-terminal: test test-terminal's sanityThomas Rast, Dec 12, 2011
  7. Jonathan NiederDec 12, 2011
  8. Jonathan NiederDec 12, 2011
  9. Thomas RastDec 12, 2011
  10. Jonathan NiederDec 12, 2011
  11. Junio C HamanoDec 12, 2011
  12. Junio C HamanoDec 12, 2011
  13. Thomas RastDec 12, 2011
  14. Jeff KingDec 12, 2011
  15. Junio C HamanoDec 12, 2011
  16. Jonathan NiederDec 12, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.