diff options
author | Jordan Running <jrunning@gmail.com> | 2016-03-18 13:38:43 -0500 |
---|---|---|
committer | Jordan Running <jrunning@gmail.com> | 2016-03-18 13:38:43 -0500 |
commit | 93dc2cb77c40f82238b962c1d371618a5fb1fffa (patch) | |
tree | 54f1f038a2c910104728b68b4655d92163b5fec2 | |
parent | 559ce1da6ce142ebfb553f1124ab9e86a68709a8 (diff) | |
parent | 74a3e638780a6f569fbfd1179cd3242dd21383cb (diff) | |
download | chef-93dc2cb77c40f82238b962c1d371618a5fb1fffa.tar.gz |
Merge pull request #4714 from chef/cd/log-platform
Log platform along with client version and pid.
-rw-r--r-- | lib/chef/client.rb | 1 | ||||
-rw-r--r-- | lib/chef/formatters/base.rb | 2 | ||||
-rw-r--r-- | lib/chef/formatters/error_description.rb (renamed from lib/chef/formatters/error_descriptor.rb) | 2 | ||||
-rw-r--r-- | spec/unit/formatters/error_description_spec.rb | 96 |
4 files changed, 100 insertions, 1 deletions
diff --git a/lib/chef/client.rb b/lib/chef/client.rb index 8ca0fd5e89..48d7c447cc 100644 --- a/lib/chef/client.rb +++ b/lib/chef/client.rb @@ -256,6 +256,7 @@ class Chef run_context = nil events.run_start(Chef::VERSION) Chef::Log.info("*** Chef #{Chef::VERSION} ***") + Chef::Log.info("Platform: #{RUBY_PLATFORM}") Chef::Log.info "Chef-client pid: #{Process.pid}" Chef::Log.debug("Chef-client request_id: #{request_id}") enforce_path_sanity diff --git a/lib/chef/formatters/base.rb b/lib/chef/formatters/base.rb index 90925ffdb4..3641e619e9 100644 --- a/lib/chef/formatters/base.rb +++ b/lib/chef/formatters/base.rb @@ -19,7 +19,7 @@ require "chef/event_dispatch/base" require "chef/formatters/error_inspectors" -require "chef/formatters/error_descriptor" +require "chef/formatters/error_description" require "chef/formatters/error_mapper" require "chef/formatters/indentable_output_stream" diff --git a/lib/chef/formatters/error_descriptor.rb b/lib/chef/formatters/error_description.rb index 1a40f785cb..8d7f940181 100644 --- a/lib/chef/formatters/error_descriptor.rb +++ b/lib/chef/formatters/error_description.rb @@ -39,11 +39,13 @@ class Chef out.puts @title, :red out.puts "=" * 80 out.puts "\n" + sections.each do |section| section.each do |heading, text| display_section(heading, text, out) end end + display_section("Platform:", RUBY_PLATFORM, out) end def for_json() diff --git a/spec/unit/formatters/error_description_spec.rb b/spec/unit/formatters/error_description_spec.rb new file mode 100644 index 0000000000..8b088308fa --- /dev/null +++ b/spec/unit/formatters/error_description_spec.rb @@ -0,0 +1,96 @@ +# +# Author:: Jordan Running (<jr@chef.io>) +# +# Copyright:: Copyright 2015-2016, Chef Software, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require "spec_helper" + +describe Chef::Formatters::ErrorDescription do + let(:title) { "test title" } + + let(:out) { Chef::Formatters::IndentableOutputStream.new(StringIO.new, STDERR) } + + let(:section_heading) { "test heading" } + let(:section_text) { "test text" } + + subject { Chef::Formatters::ErrorDescription.new(title) } + + describe "#sections" do + context "when no sections have been added" do + it "should return an empty array" do + expect(subject.sections).to eq [] + end + end + + context "when a section has been added" do + before do + subject.section(section_heading, section_text) + end + + it "should return an array with the added section as a hash" do + expect(subject.sections).to eq [ { section_heading => section_text } ] + end + end + end + + describe "#display" do + before do + stub_const("RUBY_PLATFORM", "ruby-foo-9000") + end + + context "when no sections have been added" do + it "should output only the title and the Platform section" do + subject.display(out) + expect(out.out.string).to eq <<-END +================================================================================ +test title +================================================================================ + +Platform: +--------- +ruby-foo-9000 + + END + end + end + + context "when a section has been added" do + before do + subject.section(section_heading, section_text) + end + + it "should output the expected sections" do + subject.display(out) + expect(out.out.string).to eq <<-END +================================================================================ +test title +================================================================================ + +test heading +------------ +test text + +Platform: +--------- +ruby-foo-9000 + + END + end + + end + end +end |