【发布时间】:2016-06-13 16:36:21
【问题描述】:
我的要求是我需要运行安装在其他用户中的实用程序,并且我必须检查从该会话返回的输出并进行验证。 示例:
- 我以 srijava 用户身份安装了 java
- 现在,在 Serverspec 中,我编写了测试 Java 版本的命令(假设
java -version仅在该用户中运行,而不是以 root 身份运行)。 - 如果我使用
su srijava,那么我不会将输出返回到根会话并且测试失败。 - 如果我在没有
su srijava的情况下运行,那么我的实用程序将抛出错误 用户不是 SriJava
带有su 的代码:
describe command('su srijava ; cd /app/java; ./java --version') do
its(:stdout) { should contain('1.7') }
end
没有su的代码:
describe command('cd /app/java; ./java --version') do
its(:stdout) { should contain('1.7') }
end
【问题讨论】:
标签: chef-infra serverspec