我为 python 编写了一个 ansible playbook 角色,并尝试使用带有 Serverspec/RSpec 的厨房测试对其进行测试。以下测试确保我是否能够源激活 virtualenv。这在 CentOS 上运行良好,但在 Debian-Ubuntu 上测试失败并出现错误(检查代码块下方)
describe command("source #{jenkins_home}/virtualenv/#{version}/bin/activate") do
its(:exit_status) { should eq 0 }
end
错误:
6) Command "source /home/jenkins/virtualenv/pypy3/bin/activate" exit_status should eq 0
Failure/Error: its(:exit_status) { should eq 0 }
expected: 0
got: 127
(compared using ==)
/bin/sh -c source\ /home/jenkins/virtualenv/pypy3/bin/activate
# /tmp/verifier/suites/serverspec/python_spec.rb:22:in `block (3 levels) in <top (required)>'
我的假设
它试图从基本上无法运行源命令的/bin/sh运行。我怎样才能缓解这个问题?