iAdd support for running interactive test with expect - clic - Clic is an command line interactive client for gopher written in Common LISP Err bitreich.org 70 hgit clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ URL:git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ bitreich.org 70 1Log /scm/clic/log.gph bitreich.org 70 1Files /scm/clic/files.gph bitreich.org 70 1Refs /scm/clic/refs.gph bitreich.org 70 1Tags /scm/clic/tag bitreich.org 70 1README /scm/clic/file/README.md.gph bitreich.org 70 1LICENSE /scm/clic/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit c2c3178142a5fec87b71d7e4f4b8b2d8fc5446c0 /scm/clic/commit/c2c3178142a5fec87b71d7e4f4b8b2d8fc5446c0.gph bitreich.org 70 1parent ba86c5e114249375116d7d40a5b66bc2e2baa4ce /scm/clic/commit/ba86c5e114249375116d7d40a5b66bc2e2baa4ce.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Thu, 16 Nov 2017 12:08:14 +0000 Err bitreich.org 70 i Err bitreich.org 70 iAdd support for running interactive test with expect Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i A interactive-test.exp | 106 ++++++++++++++++++++++++++++++ Err bitreich.org 70 i M run-test.sh | 2 ++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 108 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/interactive-test.exp b/interactive-test.exp /scm/clic/file/interactive-test.exp.gph bitreich.org 70 i@@ -0,0 +1,106 @@ Err bitreich.org 70 i+proc user_input {} { Err bitreich.org 70 i+ Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "garbage\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ send ". . ~. ~ .\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "r\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "help\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "5\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "p\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "19\n" Err bitreich.org 70 i+ expect " : " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "p\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "h\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "a\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+ send "b\n" Err bitreich.org 70 i+ expect "clic => " Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+spawn ./clic gopher://bitreich.org Err bitreich.org 70 i+set running [user_input] Err bitreich.org 70 i+send "x\n" Err bitreich.org 70 i+expect eof Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+spawn sbcl Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(require :sb-cover) (require :sb-bsd-sockets)\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(declaim (optimize sb-cover:store-coverage-data))\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(compile-file \"clic.lisp\")\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(load \"clic.fasl\")\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(setf *offline* t)\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(main)\n" Err bitreich.org 70 i+set running [user_input] Err bitreich.org 70 i+send "quit\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(main)\n" Err bitreich.org 70 i+expect "clic => " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "q\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(pop *history*) (p) (r)\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+# add an argv to test argv parsing Err bitreich.org 70 i+send "(setf *posix-argv* '(\"sbcl\" \"gopher://bitreich.org/0/usr/\"))\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(main)\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+# add an argv to test argv parsing Err bitreich.org 70 i+send "(setf *posix-argv* '(\"sbcl\" \"bitreich.org/0/usr/\"))\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+send "(main)\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+# add an argv to test argv parsing Err bitreich.org 70 i+send "(setf *posix-argv* '(\"sbcl\" \"bitreich.org:70/\"))\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+send "(main)\n" Err bitreich.org 70 i+expect "clic => " Err bitreich.org 70 i+send "q\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(sb-cover:report \"report/\")\n" Err bitreich.org 70 i+expect "* " Err bitreich.org 70 i+ Err bitreich.org 70 i+send "(quit)\n" Err bitreich.org 70 i+expect eof Err bitreich.org 70 1diff --git a/run-test.sh b/run-test.sh /scm/clic/file/run-test.sh.gph bitreich.org 70 i@@ -2,6 +2,8 @@ Err bitreich.org 70 i Err bitreich.org 70 i LISP=$1 Err bitreich.org 70 i Err bitreich.org 70 i+expect -f interactive-test.exp Err bitreich.org 70 i+ Err bitreich.org 70 i ${LISP} --load clic.lisp --load test.lisp Err bitreich.org 70 i Err bitreich.org 70 i ./clic gopher://bitreich.org:70/0/ | md5sum - Err bitreich.org 70 .