Test examples (#87)
* Fixing simple_login example * Adds script that tests the simple_login example * Add GH action to run said script Co-authored-by: Kevin Lewi <[email protected]>
This commit is contained in:
co-authored by
Kevin Lewi
parent
2d7b4292ff
commit
f18eaea8cf
@@ -35,6 +35,26 @@ jobs:
|
|||||||
command: test
|
command: test
|
||||||
args: --no-default-features --features ${{ matrix.backend_feature }}
|
args: --no-default-features --features ${{ matrix.backend_feature }}
|
||||||
|
|
||||||
|
simple-login-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
name: test simple_login command-line example
|
||||||
|
steps:
|
||||||
|
- name: install expect
|
||||||
|
run: sudo apt-get install expect
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: install rust
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: nightly
|
||||||
|
override: true
|
||||||
|
components: rustfmt, clippy
|
||||||
|
- name: Run expect (which then runs cargo run)
|
||||||
|
run: expect -f scripts/simple_login.exp
|
||||||
|
|
||||||
cross-test:
|
cross-test:
|
||||||
name: Test on ${{ matrix.target }} (using cross)
|
name: Test on ${{ matrix.target }} (using cross)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
Executable
+80
@@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/expect -f
|
||||||
|
|
||||||
|
set timeout 1
|
||||||
|
spawn cargo run --example simple_login
|
||||||
|
match_max 100000
|
||||||
|
sleep 1
|
||||||
|
expect "*
|
||||||
|
\r
|
||||||
|
Currently registered usernames: \\\[\\\]\r
|
||||||
|
\r
|
||||||
|
Enter an option (1 or 2):\r
|
||||||
|
1) Register a user\r
|
||||||
|
2) Login as a user\r
|
||||||
|
\r
|
||||||
|
"
|
||||||
|
sleep .1
|
||||||
|
send -- "1\r"
|
||||||
|
expect "Username: \r"
|
||||||
|
send -- "foo\r"
|
||||||
|
expect "Password: \r"
|
||||||
|
send -- "bar\r"
|
||||||
|
expect "*
|
||||||
|
\r
|
||||||
|
Currently registered usernames: \\\[\"foo\"\\\]\r
|
||||||
|
\r
|
||||||
|
Enter an option (1 or 2):\r
|
||||||
|
1) Register a user\r
|
||||||
|
2) Login as a user\r
|
||||||
|
\r
|
||||||
|
"
|
||||||
|
sleep .1
|
||||||
|
send -- "2\r"
|
||||||
|
expect "Username: \r"
|
||||||
|
send -- "baz\r"
|
||||||
|
expect "Password: \r"
|
||||||
|
send -- "quux\r"
|
||||||
|
expect "*Error: Could not find username registered\r
|
||||||
|
\r
|
||||||
|
Currently registered usernames: \\\[\"foo\"\\\]\r
|
||||||
|
\r
|
||||||
|
Enter an option (1 or 2):\r
|
||||||
|
1) Register a user\r
|
||||||
|
2) Login as a user\r
|
||||||
|
\r
|
||||||
|
"
|
||||||
|
sleep .1
|
||||||
|
send -- "2\r"
|
||||||
|
expect "Username: \r"
|
||||||
|
send -- "foo\r"
|
||||||
|
expect "Password: \r"
|
||||||
|
send -- "baz\r"
|
||||||
|
expect "*Incorrect password, please try again.\r
|
||||||
|
\r
|
||||||
|
Currently registered usernames: \\\[\"foo\"\\\]\r
|
||||||
|
\r
|
||||||
|
Enter an option (1 or 2):\r
|
||||||
|
1) Register a user\r
|
||||||
|
2) Login as a user\r
|
||||||
|
\r
|
||||||
|
"
|
||||||
|
sleep .1
|
||||||
|
send -- "2\r"
|
||||||
|
expect "Username: \r"
|
||||||
|
send -- "foo\r"
|
||||||
|
expect "Password: \r"
|
||||||
|
send -- "bar\r"
|
||||||
|
expect "*
|
||||||
|
\r
|
||||||
|
*Login success!\r
|
||||||
|
\r
|
||||||
|
Currently registered usernames: \\\[\"foo\"\\\]\r
|
||||||
|
\r
|
||||||
|
Enter an option (1 or 2):\r
|
||||||
|
1) Register a user\r
|
||||||
|
2) Login as a user\r
|
||||||
|
\r
|
||||||
|
"
|
||||||
|
sleep .1
|
||||||
|
send -- ""
|
||||||
|
expect eof
|
||||||
Reference in New Issue
Block a user