diff options
author | Joel Handwell <joelhandwell@gmail.com> | 2015-08-31 08:31:55 -0400 |
---|---|---|
committer | Joel Handwell <joelhandwell@gmail.com> | 2015-09-02 07:55:25 -0400 |
commit | 850bded619ac14e62bed15b85cc34d6ef3b99202 (patch) | |
tree | 10d83b6d47ef92439d00ce42733ee6fce9a6b71a | |
parent | 5f6589f3c05c965d3c555613bf21c635978a36be (diff) | |
download | chef-850bded619ac14e62bed15b85cc34d6ef3b99202.tar.gz |
Keep elapsed_time and add pretty_elapsed_time
-rw-r--r-- | lib/chef/formatters/doc.rb | 10 | ||||
-rw-r--r-- | spec/unit/formatters/doc_spec.rb | 15 |
2 files changed, 16 insertions, 9 deletions
diff --git a/lib/chef/formatters/doc.rb b/lib/chef/formatters/doc.rb index 93039d6171..2b0161667b 100644 --- a/lib/chef/formatters/doc.rb +++ b/lib/chef/formatters/doc.rb @@ -26,7 +26,11 @@ class Chef end def elapsed_time - time = end_time - start_time + end_time - start_time + end + + def pretty_elapsed_time + time = elapsed_time if time < 60 then message = Time.at(time).utc.strftime("%S seconds") elsif time < 3600 then @@ -74,7 +78,7 @@ class Chef if Chef::Config[:why_run] puts_line "Chef Client finished, #{@updated_resources}/#{total_resources} resources would have been updated" else - puts_line "Chef Client finished, #{@updated_resources}/#{total_resources} resources updated in #{elapsed_time}" + puts_line "Chef Client finished, #{@updated_resources}/#{total_resources} resources updated in #{pretty_elapsed_time}" if total_audits > 0 puts_line " #{successful_audits}/#{total_audits} controls succeeded" end @@ -86,7 +90,7 @@ class Chef if Chef::Config[:why_run] puts_line "Chef Client failed. #{@updated_resources} resources would have been updated" else - puts_line "Chef Client failed. #{@updated_resources} resources updated in #{elapsed_time}" + puts_line "Chef Client failed. #{@updated_resources} resources updated in #{pretty_elapsed_time}" if total_audits > 0 puts_line " #{successful_audits} controls succeeded" end diff --git a/spec/unit/formatters/doc_spec.rb b/spec/unit/formatters/doc_spec.rb index 15af595020..7db5ebc348 100644 --- a/spec/unit/formatters/doc_spec.rb +++ b/spec/unit/formatters/doc_spec.rb @@ -61,24 +61,27 @@ describe Chef::Formatters::Base do it "prints only seconds when elapsed time is less than 60 seconds" do Timecop.freeze(2008, 9, 9, 9, 9, 19) do formatter.run_completed(nil) - expect(formatter.elapsed_time).to include("10 seconds") - expect(formatter.elapsed_time).not_to include("minutes") - expect(formatter.elapsed_time).not_to include("hours") + expect(formatter.elapsed_time).to eql(10.0) + expect(formatter.pretty_elapsed_time).to include("10 seconds") + expect(formatter.pretty_elapsed_time).not_to include("minutes") + expect(formatter.pretty_elapsed_time).not_to include("hours") end end it "prints minutes and seconds when elapsed time is more than 60 seconds" do Timecop.freeze(2008, 9, 9, 9, 19, 19) do formatter.run_completed(nil) - expect(formatter.elapsed_time).to include("10 minutes 10 seconds") - expect(formatter.elapsed_time).not_to include("hours") + expect(formatter.elapsed_time).to eql(610.0) + expect(formatter.pretty_elapsed_time).to include("10 minutes 10 seconds") + expect(formatter.pretty_elapsed_time).not_to include("hours") end end it "prints hours, minutes and seconds when elapsed time is more than 3600 seconds" do Timecop.freeze(2008, 9, 9, 19, 19, 19) do formatter.run_completed(nil) - expect(formatter.elapsed_time).to include("10 hours 10 minutes 10 seconds") + expect(formatter.elapsed_time).to eql(36610.0) + expect(formatter.pretty_elapsed_time).to include("10 hours 10 minutes 10 seconds") end end end |