blob: 362ed35484c70ccce4d66c5ed422cd66b7685d99 [file] [log] [blame]
#!/usr/bin/expect -f
#
# This script test OP-TEE rust examples. The return code is 0 for
# success, >0 for error.
#
set timeout 60
info "Test Rust example applications:\n"
info "Running acipher-rs...\n"
send -- "acipher-rs 256 teststring\r"
expect {
-re "Success decrypt the above ciphertext as (\\d+) bytes plain text:" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running aes-rs...\n"
send -- "aes-rs\r"
expect {
-re "Prepare encode operation.*Encode buffer from TA.*Clear text and decoded text match" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running authentication-rs...\n"
send -- "authentication-rs\r"
expect {
-re "Clear text and decoded text match.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running big_int-rs...\n"
send -- "big_int-rs\r"
expect {
"Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running diffie_hellman-rs...\n"
send -- "diffie_hellman-rs\r"
expect {
-re "get key (\\d+) pair as public:.*private.*Derived share key as.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running digest-rs...\n"
send -- "digest-rs message1 message2\r"
expect {
-re "Get message hash as:.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running hello_world-rs...\n"
send -- "hello_world-rs\r"
expect {
-re "original value is 29.*inc value is 129.*dec value is 29.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running hotp-rs...\n"
send -- "hotp-rs\r"
expect {
-re "Get HOTP.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running random-rs...\n"
send -- "random-rs\r"
expect {
-re "Generate random UUID: \[a-z0-9]*-\[a-z0-9]*-\[a-z0-9]*-\[a-z0-9]*.*Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running secure_storage-rs...\n"
send -- "secure_storage-rs\r"
expect {
-re "We're done, close and release TEE resources" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running supp_plugin-rs...\n"
send -- "supp_plugin-rs\r"
expect {
-re "invoke commmand finished" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running time-rs...\n"
send -- "time-rs\r"
expect {
"Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
expect "# "
info "Running signature_verification-rs...\n"
# This one can take up to 6 minutes when CFG_CORE_DEBUG_CHECK_STACKS=y
# (3-4 minutes is common on my machine)
set timeout 400
send -- "signature_verification-rs\r"
expect {
"Success" {
info "Test success\n"
}
timeout {
info "!!! Timeout: Test failed\n"
exit 1
}
}
info "Rust examples tested successfully\n"