summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rakefile4
-rw-r--r--cucumber.yml1
-rw-r--r--features/chef-client/run_interval.feature2
-rw-r--r--features/steps/run_client_steps.rb8
4 files changed, 10 insertions, 5 deletions
diff --git a/Rakefile b/Rakefile
index 67f7d0cf9d..dcc325210c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -154,6 +154,10 @@ namespace :features do
Cucumber::Rake::Task.new(:roles) do |t|
t.profile = "client_roles"
end
+
+ Cucumber::Rake::Task.new(:run_interval) do |t|
+ t.profile = "client_run_interval"
+ end
end
Cucumber::Rake::Task.new(:search) do |t|
diff --git a/cucumber.yml b/cucumber.yml
index b99208b1f2..f3e96eff1b 100644
--- a/cucumber.yml
+++ b/cucumber.yml
@@ -14,6 +14,7 @@ api_nodes_show: --tags nodes_show --format pretty -r features/steps -r features/
api_nodes_update: --tags nodes_update --format pretty -r features/steps -r features/support features
client: --tags client --format pretty -r features/steps -r features/support features
client_roles: --tags client_roles --format pretty -r features/steps -r features/support features
+client_run_interval: --tags client_run_interval --format pretty -r features/steps -r features/support features
search: --tags search --format pretty -r features/steps -r features/support features
language: --tags language --format pretty -r features/steps -r features/support features
recipe_inclusion: --tags recipe_inclusion --format pretty -r features/steps -r features/support features
diff --git a/features/chef-client/run_interval.feature b/features/chef-client/run_interval.feature
index 89257cc4b3..dd8ef3e158 100644
--- a/features/chef-client/run_interval.feature
+++ b/features/chef-client/run_interval.feature
@@ -1,4 +1,4 @@
-@client
+@client @client_run_interval
Feature: Run chef-client at periodic intervals
In order to ensure a system is always correctly configured
As an Administrator
diff --git a/features/steps/run_client_steps.rb b/features/steps/run_client_steps.rb
index 4bb7b53346..c2169b942c 100644
--- a/features/steps/run_client_steps.rb
+++ b/features/steps/run_client_steps.rb
@@ -46,13 +46,13 @@ When /^I run the chef\-client with '(.+)' for '(.+)' seconds$/ do |args, run_for
end
When /^I run the chef\-client for '(.+)' seconds$/ do |run_for|
- cid = fork {
+ cid = Process.fork {
sleep run_for.to_i
- client_pid = `ps ax | grep chef-client | grep -v grep | grep -v rake | grep -v cucumber | awk '{ print $1 }'`
- Process.kill("INT", client_pid.to_i)
+ Process.kill("INT", /^(.+chef\-client.+\-i.*)$/.match(`ps -ef`).to_s.split[1].to_i)
+ exit
}
When 'I run the chef-client'
- Process.waitpid2(cid)
+ Process.wait2(cid)
end
When /^I run the chef\-client at log level '(.+)'$/ do |log_level|