Я считаю, что этот вопрос, вероятно, является дубликатом serverspec service test returns incorrect failure, но я включаю немного больше информации о моей среде выполнения.Тест rspec/serverspec всегда терпит неудачу
У меня есть куча успешных тестов серверов, выполняемых против виртуальной машины RHEL6 на AWS.
Однако любой «сервисный» тест, похоже, терпит неудачу с помощью сокетов be_enabled и be_running.
У меня есть следующий в моем spec_helper.rb:
set :os, :family => 'redhat', :release => '6', :arch => 'x86_64'
Я попытался как serverspec и RSpec синтаксиса для тестов и оба терпят неудачу, поскольку они работают одни и те же команды:
describe service('ntpd') do
it { should be_enabled }
it { should be_running }
end
it "is running ntpd" do
expect(service("ntpd")).to be_enabled
expect(service("ntpd")).to be_running
end
Failure/Error: it { should be_enabled }
expected Service "ntpd" to be enabled
sudo -p 'Password: ' /bin/sh -c chkconfig\ --list\ ntpd\ \|\ grep\ 3:on
Failure/Error: it { should be_running }
expected Service "ntpd" to be running
sudo -p 'Password: ' /bin/sh -c service\ ntpd\ status
Однако, Выполнение их на локальном сервере успешно завершено:
$ sudo -p 'Password: ' /bin/sh -c chkconfig\ --list\ ntpd\ \|\ grep\ 3:on
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
$ echo $?
0
$ sudo -p 'Password: ' /bin/sh -c service\ ntpd\ status
ntpd (pid 1101) is running...
$ echo $?
0
Я попытался изучить настройку некоторой отладки ging с pry-byebug, но это выглядит не так просто, поэтому я вроде бы отказался от этого на данный момент.
Я бегу рубин 2.0, serverspec 2,24, RSpec 3,3
Может кто-нибудь помочь мне точку в правильном направлении?
Это решение не сработало для меня. Любые альтернативы? – fiunchinho