diff --git a/nuttx.cfg b/nuttx.cfg new file mode 100644 index 0000000..9250a1b --- /dev/null +++ b/nuttx.cfg @@ -0,0 +1,7 @@ +/* VM configuration file */ +{ + version: 1, + machine: "riscv64", + memory_size: 256, + bios: "Image", +} diff --git a/nuttx.exp b/nuttx.exp new file mode 100755 index 0000000..b229bde --- /dev/null +++ b/nuttx.exp @@ -0,0 +1,48 @@ +#!/usr/bin/expect +## Expect Script for Testing NuttX with SG2000 Emulator + +## Wait at most 300 seconds +set timeout 300 + +## For every 1 character sent, wait 0.001 milliseconds +set send_slow {1 0.001} + +## Start the SG2000 Emulator +spawn ./temu nuttx.cfg + +## Wait for the prompt and enter `uname -a` +expect "nsh> " +send -s "uname -a\r" + +## Wait for the prompt and enter `free` +expect "nsh> " +send -s "free\r" + +## Wait for the prompt and enter `hello` +expect "nsh> " +send -s "hello\r" + +## Wait for the prompt and enter `getprime` +expect "nsh> " +send -s "getprime\r" + +## Wait for the prompt and enter `hello` +expect "nsh> " +send -s "hello\r" + +## Wait for the prompt and enter `getprime` +expect "nsh> " +send -s "getprime\r" + +## Wait for the prompt and enter `ostest` +expect "nsh> " +send -s "ostest\r" + +## Check the response... +expect { + ## If we see this message, exit normally + "ostest_main: Exiting with status 0" { exit 0 } + + ## If timeout, exit with an error + timeout { exit 1 } +}