Expect 能否确保某条日志不会出现?

Expect 能否确保某条日志不会出现?

Expect 脚本非常适合编写测试,这些测试基本上是“确保运行此命令会导致打印这些日志”。Expect 可让您跳过不相关的输出并查找日志中的特定行。

有没有办法确保我们遇到某条信息?

例如,一个简单的 Expect 脚本可能如下所示:

spawn ./my_launcher.sh
expect "System booted."

有什么办法可以确保我们在“系统启动。”行出现之前获取某个字符串?

用假想语法来传达我的目标:

spawn ./my_launcher.sh
expect-not "license activation error"
expect "System booted."

答案1

您可以期待多种情况:

expect { 
    "license activation error" { 
        ... mark that this happened ...
    }
    "System booted" {
        ... check if the above error didn't happen and do something ...
    }
}

相关内容