summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThom May <thom@may.lt>2016-03-02 17:50:14 +0000
committerThom May <thom@may.lt>2016-03-02 17:50:14 +0000
commite6809edfea19a0d30f293714bcbe4427906aa20e (patch)
treeb020f754106a7ec2249fc1f1c29266f872fcd255
parentdc89358dfd14b326e767b7e4f77ea15f758377ef (diff)
parente050b900796d559d899714ad5e8e31c0e39a7a0a (diff)
downloadmixlib-log-e6809edfea19a0d30f293714bcbe4427906aa20e.tar.gz
Merge pull request #14 from chef/cleanup
Misc cleanup + add Travis
-rw-r--r--.travis.yml19
-rwxr-xr-xGemfile2
-rw-r--r--NOTICE23
-rw-r--r--README.md51
-rw-r--r--README.rdoc24
-rw-r--r--Rakefile23
-rw-r--r--features/steps/log.rb13
-rw-r--r--features/support/env.rb21
-rw-r--r--features/support/logit.rb10
-rw-r--r--lib/mixlib/log.rb33
-rw-r--r--lib/mixlib/log/formatter.rb22
-rw-r--r--mixlib-log.gemspec20
-rw-r--r--spec/mixlib/log/formatter_spec.rb32
-rw-r--r--spec/mixlib/log_spec.rb51
-rw-r--r--spec/spec_helper.rb20
15 files changed, 202 insertions, 162 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..4d116b7
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,19 @@
+language: ruby
+cache: bundler
+
+sudo: false
+
+branches:
+ only:
+ - master
+
+before_install:
+ - bundle --version
+ - gem --version
+rvm:
+ - 2.1
+ - 2.2
+
+script:
+ - bundle exec chefstyle
+ - bundle exec rake spec
diff --git a/Gemfile b/Gemfile
index 35870ac..13ce910 100755
--- a/Gemfile
+++ b/Gemfile
@@ -1,4 +1,4 @@
-source "http://rubygems.org"
+source "https://rubygems.org"
gemspec
diff --git a/NOTICE b/NOTICE
index 77028c0..d5ba522 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,27 +1,28 @@
-Mixin::Log NOTICE
-=================
+============
+Mixin::Log Notices
+============
-Developed at Opscode (http://www.opscode.com).
+Developed at Chef (http://www.chef.io).
- * Copyright 2009, Opscode, Inc. <legal@opscode.com>
+
+ * Copyright 2009-2016, Chef Software, Inc. <legal@chef.io>
Mixin::Log incorporates code from Chef. The Chef notice file follows:
-Chef NOTICE
-===========
+============
+Chef Notices
+============
-Developed at Opscode (http://www.opscode.com).
+Developed at Chef (http://www.chef.io).
Contributors and Copyright holders:
- * Copyright 2008, Adam Jacob <adam@opscode.com>
+ * Copyright 2008, Adam Jacob <adam@chef.io>
* Copyright 2008, Arjuna Christensen <aj@hjksolutions.com>
* Copyright 2008, Bryan McLellan <btm@loftninjas.org>
* Copyright 2008, Ezra Zygmuntowicz <ezra@engineyard.com>
* Copyright 2009, Sean Cribbs <seancribbs@gmail.com>
- * Copyright 2009, Christopher Brown <cb@opscode.com>
+ * Copyright 2009, Christopher Brown <cb@chef.io>
* Copyright 2009, Thom May <thom@clearairturbulence.org>
Chef incorporates code modified from Open4 (http://www.codeforpeople.com/lib/ruby/open4/), which was written by Ara T. Howard.
-
-Chef incorporates code modified from Merb (http://www.merbivore.com), which is Copyright (c) 2008 Engine Yard.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ac41775
--- /dev/null
+++ b/README.md
@@ -0,0 +1,51 @@
+# Mixlib::Log
+
+[![Build Status Master](https://travis-ci.org/chef/mixlib-log.svg?branch=master)](https://travis-ci.org/chef/mixlib-log) [![Gem Version](https://badge.fury.io/rb/mixlib-log.svg)](https://badge.fury.io/rb/mixlib-log)
+
+Mixlib::Log provides a mixin for enabling a class based logger object, a-la Merb, Chef, and Nanite. To use it:
+
+```ruby
+require 'mixlib/log'
+
+class Log
+ extend Mixlib::Log
+end
+```
+
+You can then do:
+
+```ruby
+Log.debug('foo')
+Log.info('bar')
+Log.warn('baz')
+Log.error('baz')
+Log.fatal('wewt')
+```
+
+By default, `Mixlib::Logger` logs to STDOUT. To alter this, you should call +Log.init+, passing any arguments to the standard Ruby Logger. For example:
+
+```ruby
+Log.init('/tmp/logfile') # log to /tmp/logfile
+Log.init('/tmp/logfile', 7) # log to /tmp/logfile, rotate every day
+```
+
+Enjoy!
+
+## LICENSE:
+
+- Copyright:: Copyright (c) 2008-2016 Chef Software, Inc.
+- License:: Apache License, Version 2.0
+
+```text
+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.
+```
diff --git a/README.rdoc b/README.rdoc
deleted file mode 100644
index faf9427..0000000
--- a/README.rdoc
+++ /dev/null
@@ -1,24 +0,0 @@
-== Mixlib::Log
-
-Mixlib::Log provides a mixin for enabling a class based logger object, a-la Merb, Chef, and Nanite. To use it:
-
- require 'mixlib/log'
-
- class Log
- extend Mixlib::Log
- end
-
-You can then do:
-
- Log.debug('foo')
- Log.info('bar')
- Log.warn('baz')
- Log.error('baz')
- Log.fatal('wewt')
-
-By default, <tt>Mixlib::Logger</tt> logs to STDOUT. To alter this, you should call +Log.init+, passing any arguments to the standard Ruby Logger. For example:
-
- Log.init('/tmp/logfile') # log to /tmp/logfile
- Log.init('/tmp/logfile', 7) # log to /tmp/logfile, rotate every day
-
-Enjoy! \ No newline at end of file
diff --git a/Rakefile b/Rakefile
index cf0e10f..99d9307 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,18 +1,18 @@
-require 'rake'
-require 'rubygems/package_task'
-require 'rdoc/task'
-require 'yaml'
-require 'rspec/core/rake_task'
-require 'cucumber/rake/task'
+require "rake"
+require "rubygems/package_task"
+require "rdoc/task"
+require "yaml"
+require "rspec/core/rake_task"
+require "cucumber/rake/task"
-gemspec = eval(IO.read('mixlib-log.gemspec'))
+gemspec = eval(IO.read("mixlib-log.gemspec"))
Gem::PackageTask.new(gemspec) do |pkg|
pkg.gem_spec = gemspec
end
RSpec::Core::RakeTask.new(:spec) do |spec|
- spec.pattern = 'spec/**/*_spec.rb'
+ spec.pattern = "spec/**/*_spec.rb"
end
task :default => :spec
@@ -21,13 +21,12 @@ task :default => :spec
task :test => :spec
RDoc::Task.new do |rdoc|
- rdoc.rdoc_dir = 'rdoc'
+ rdoc.rdoc_dir = "rdoc"
rdoc.title = "mixlib-log #{Mixlib::Log::VERSION}"
- rdoc.rdoc_files.include('README*')
- rdoc.rdoc_files.include('lib/**/*.rb')
+ rdoc.rdoc_files.include("README*")
+ rdoc.rdoc_files.include("lib/**/*.rb")
end
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "--format pretty"
end
-
diff --git a/features/steps/log.rb b/features/steps/log.rb
index d8a5070..e16c2d3 100644
--- a/features/steps/log.rb
+++ b/features/steps/log.rb
@@ -1,14 +1,14 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Copyright:: Copyright (c) 2008-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.
@@ -37,12 +37,11 @@ When /^the message '(.+)' is sent at the '(.+)' level$/ do |message, level|
end
end
-Then /^the regex '(.+)' should be logged$/ do |regex_string|
+Then /^the regex '(.+)' should be logged$/ do |regex_string|
regex = Regexp.new(regex_string, Regexp::MULTILINE)
regex.match(@output).should_not == nil
end
-Then /^nothing should be logged$/ do
+Then /^nothing should be logged$/ do
@output.should == ""
end
-
diff --git a/features/support/env.rb b/features/support/env.rb
index d3b315a..e0d2bad 100644
--- a/features/support/env.rb
+++ b/features/support/env.rb
@@ -1,14 +1,14 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Copyright:: Copyright (c) 2008-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.
@@ -16,17 +16,17 @@
# limitations under the License.
#
-$: << File.join(File.dirname(__FILE__), '..', '..', 'lib')
+$: << File.join(File.dirname(__FILE__), "..", "..", "lib")
-require 'rspec/expectations'
-require 'mixlib/log'
-require 'tmpdir'
-require 'stringio'
+require "rspec/expectations"
+require "mixlib/log"
+require "tmpdir"
+require "stringio"
class MyWorld
def initialize
@tmpdir = File.join(Dir.tmpdir, "mixlib_log")
- @output = ''
+ @output = ""
@output_io = StringIO.new(@output)
Logit.init(@output_io)
end
@@ -43,4 +43,3 @@ end
After do
system("rm -rf #{@tmpdir}")
end
-
diff --git a/features/support/logit.rb b/features/support/logit.rb
index c388a4b..71b12c6 100644
--- a/features/support/logit.rb
+++ b/features/support/logit.rb
@@ -1,14 +1,14 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Copyright:: Copyright (c) 2008-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.
@@ -18,4 +18,4 @@
class Logit
extend Mixlib::Log
-end \ No newline at end of file
+end
diff --git a/lib/mixlib/log.rb b/lib/mixlib/log.rb
index 5ff243d..5f216f9 100644
--- a/lib/mixlib/log.rb
+++ b/lib/mixlib/log.rb
@@ -1,7 +1,7 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Author:: Christopher Brown (<cb@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Author:: Christopher Brown (<cb@chef.io>)
+# Copyright:: Copyright (c) 2008-2016 Chef Software, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,19 +16,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-require 'logger'
-require 'mixlib/log/version'
-require 'mixlib/log/formatter'
+require "logger"
+require "mixlib/log/version"
+require "mixlib/log/formatter"
module Mixlib
module Log
@logger, @loggers = nil
- LEVELS = { :debug=>Logger::DEBUG, :info=>Logger::INFO, :warn=>Logger::WARN, :error=>Logger::ERROR, :fatal=>Logger::FATAL}.freeze
+ LEVELS = { :debug => Logger::DEBUG, :info => Logger::INFO, :warn => Logger::WARN, :error => Logger::ERROR, :fatal => Logger::FATAL }.freeze
LEVEL_NAMES = LEVELS.invert.freeze
-
def reset!
@logger, @loggers = nil, nil
end
@@ -51,7 +50,7 @@ module Mixlib
# that had been added to the +loggers+ array will be cleared.
def logger=(new_log_device)
reset!
- @logger=new_log_device
+ @logger = new_log_device
end
def use_log_devices(other)
@@ -63,7 +62,7 @@ module Mixlib
@logger = other.first
else
msg = "#use_log_devices takes a Mixlib::Log object or array of log devices. " <<
- "You gave: #{other.inspect}"
+ "You gave: #{other.inspect}"
raise ArgumentError, msg
end
end
@@ -95,14 +94,14 @@ module Mixlib
def level=(new_level)
level_int = LEVEL_NAMES.key?(new_level) ? new_level : LEVELS[new_level]
raise ArgumentError, "Log level must be one of :debug, :info, :warn, :error, or :fatal" if level_int.nil?
- loggers.each {|l| l.level = level_int }
+ loggers.each { |l| l.level = level_int }
end
- def level(new_level=nil)
+ def level(new_level = nil)
if new_level.nil?
LEVEL_NAMES[logger.level]
else
- self.level=(new_level)
+ self.level = (new_level)
end
end
@@ -129,11 +128,11 @@ module Mixlib
end
def <<(msg)
- loggers.each {|l| l << msg }
+ loggers.each { |l| l << msg }
end
def add(severity, message = nil, progname = nil, &block)
- loggers.each {|l| l.add(severity, message, progname, &block) }
+ loggers.each { |l| l.add(severity, message, progname, &block) }
end
alias :log :add
@@ -142,7 +141,7 @@ module Mixlib
# this method gets hit before a call to Mixlib::Logger.init has been made, it will call
# Mixlib::Logger.init() with no arguments.
def method_missing(method_symbol, *args, &block)
- loggers.each {|l| l.send(method_symbol, *args, &block) }
+ loggers.each { |l| l.send(method_symbol, *args, &block) }
end
private
@@ -150,7 +149,7 @@ module Mixlib
def logger_for(*opts)
if opts.empty?
Logger.new(STDOUT)
- elsif LEVELS.keys.inject(true) {|quacks, level| quacks && opts.first.respond_to?(level)}
+ elsif LEVELS.keys.inject(true) { |quacks, level| quacks && opts.first.respond_to?(level) }
opts.first
else
Logger.new(*opts)
diff --git a/lib/mixlib/log/formatter.rb b/lib/mixlib/log/formatter.rb
index 0632535..c1eda6d 100644
--- a/lib/mixlib/log/formatter.rb
+++ b/lib/mixlib/log/formatter.rb
@@ -1,32 +1,32 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Copyright:: Copyright (c) 2008-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 'logger'
-require 'time'
+require "logger"
+require "time"
module Mixlib
module Log
class Formatter < Logger::Formatter
@@show_time = true
-
- def self.show_time=(show=false)
+
+ def self.show_time=(show = false)
@@show_time = show
end
-
+
# Prints a log message as '[time] severity: message' if Chef::Log::Formatter.show_time == true.
# Otherwise, doesn't print the time.
def call(severity, time, progname, msg)
@@ -36,9 +36,9 @@ module Mixlib
sprintf("%s: %s\n", severity, msg2str(msg))
end
end
-
+
# Converts some argument to a Logger.severity() call to a string. Regular strings pass through like
- # normal, Exceptions get formatted as "message (class)\nbacktrace", and other random stuff gets
+ # normal, Exceptions get formatted as "message (class)\nbacktrace", and other random stuff gets
# put through "object.inspect"
def msg2str(msg)
case msg
diff --git a/mixlib-log.gemspec b/mixlib-log.gemspec
index 7a504bb..a735341 100644
--- a/mixlib-log.gemspec
+++ b/mixlib-log.gemspec
@@ -1,19 +1,19 @@
-$:.unshift File.expand_path('../lib', __FILE__)
-require 'mixlib/log/version'
+$:.unshift File.expand_path("../lib", __FILE__)
+require "mixlib/log/version"
Gem::Specification.new do |gem|
gem.name = "mixlib-log"
gem.version = Mixlib::Log::VERSION
gem.platform = Gem::Platform::RUBY
gem.summary = "A gem that provides a simple mixin for log functionality"
- gem.email = "info@opscode.com"
- gem.homepage = "http://www.opscode.com"
+ gem.email = "info@chef.io"
+ gem.homepage = "https://www.chef.io"
gem.license = "Apache-2.0"
- gem.authors = ["Opscode, Inc."]
+ gem.authors = ["Chef Software, Inc."]
gem.has_rdoc = true
- gem.extra_rdoc_files = ["README.rdoc", "LICENSE", 'NOTICE']
- gem.files = Dir['lib/**/*'] + Dir['spec/**/*'] + ["Gemfile", "Rakefile", ".gemtest", "mixlib-log.gemspec"]
- gem.add_development_dependency 'rake'
- gem.add_development_dependency 'rspec', '~> 2.10'
- gem.add_development_dependency 'cucumber'
+ gem.extra_rdoc_files = ["README.md", "LICENSE", "NOTICE"]
+ gem.files = Dir["lib/**/*"] + Dir["spec/**/*"] + ["Gemfile", "Rakefile", ".gemtest", "mixlib-log.gemspec"]
+ gem.add_development_dependency "rake"
+ gem.add_development_dependency "rspec", "~> 3.4"
+ gem.add_development_dependency "cucumber"
end
diff --git a/spec/mixlib/log/formatter_spec.rb b/spec/mixlib/log/formatter_spec.rb
index 1f9c1e5..f4d664b 100644
--- a/spec/mixlib/log/formatter_spec.rb
+++ b/spec/mixlib/log/formatter_spec.rb
@@ -1,14 +1,14 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Copyright:: Copyright (c) 2008-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.
@@ -16,36 +16,36 @@
# limitations under the License.
#
-require 'time'
+require "time"
require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "spec_helper"))
describe Mixlib::Log::Formatter do
before(:each) do
@formatter = Mixlib::Log::Formatter.new
end
-
+
it "should print raw strings with msg2str(string)" do
- @formatter.msg2str("nuthin new").should == "nuthin new"
+ expect(@formatter.msg2str("nuthin new")).to eq("nuthin new")
end
-
+
it "should format exceptions properly with msg2str(e)" do
e = IOError.new("legendary roots crew")
- @formatter.msg2str(e).should == "legendary roots crew (IOError)\n"
+ expect(@formatter.msg2str(e)).to eq("legendary roots crew (IOError)\n")
end
-
+
it "should format random objects via inspect with msg2str(Object)" do
- @formatter.msg2str([ "black thought", "?uestlove" ]).should == '["black thought", "?uestlove"]'
+ expect(@formatter.msg2str([ "black thought", "?uestlove" ])).to eq('["black thought", "?uestlove"]')
end
-
+
it "should return a formatted string with call" do
time = Time.new
Mixlib::Log::Formatter.show_time = true
- @formatter.call("monkey", time, "test", "mos def").should == "[#{time.iso8601}] monkey: mos def\n"
+ expect(@formatter.call("monkey", time, "test", "mos def")).to eq("[#{time.iso8601}] monkey: mos def\n")
end
-
+
it "should allow you to turn the time on and off in the output" do
Mixlib::Log::Formatter.show_time = false
- @formatter.call("monkey", Time.new, "test", "mos def").should == "monkey: mos def\n"
+ expect(@formatter.call("monkey", Time.new, "test", "mos def")).to eq("monkey: mos def\n")
end
-
+
end
diff --git a/spec/mixlib/log_spec.rb b/spec/mixlib/log_spec.rb
index 640ae81..22b3758 100644
--- a/spec/mixlib/log_spec.rb
+++ b/spec/mixlib/log_spec.rb
@@ -1,7 +1,7 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Author:: Christopher Brown (<cb@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Author:: Christopher Brown (<cb@chef.io>)
+# Copyright:: Copyright (c) 2008-2016 Chef Software, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +17,8 @@
# limitations under the License.
#
-require 'tempfile'
-require 'stringio'
+require "tempfile"
+require "stringio"
require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
class LoggerLike
@@ -49,7 +49,7 @@ describe Mixlib::Log do
io = StringIO.new
Logit.init(io)
Logit << "foo"
- io.string.should match(/foo/)
+ expect(io.string).to match(/foo/)
end
it "creates a logger with a file name" do
@@ -57,7 +57,7 @@ describe Mixlib::Log do
Logit.init(tempfile.path)
Logit << "bar"
tempfile.rewind
- tempfile.read.should match(/bar/)
+ expect(tempfile.read).to match(/bar/)
end
end
@@ -65,18 +65,18 @@ describe Mixlib::Log do
logger = LoggerLike.new
Logit.init(logger)
Logit.debug "qux"
- logger.messages.should match(/qux/)
+ expect(logger.messages).to match(/qux/)
end
it "should re-initialize the logger if init is called again" do
first_logdev, second_logdev = StringIO.new, StringIO.new
Logit.init(first_logdev)
Logit.fatal "FIRST"
- first_logdev.string.should match(/FIRST/)
+ expect(first_logdev.string).to match(/FIRST/)
Logit.init(second_logdev)
Logit.fatal "SECOND"
- first_logdev.string.should_not match(/SECOND/)
- second_logdev.string.should match(/SECOND/)
+ expect(first_logdev.string).to_not match(/SECOND/)
+ expect(second_logdev.string).to match(/SECOND/)
end
it "should set the log level using the binding form, with :debug, :info, :warn, :error, or :fatal" do
@@ -89,8 +89,8 @@ describe Mixlib::Log do
}
levels.each do |symbol, constant|
Logit.level = symbol
- Logit.logger.level.should == constant
- Logit.level.should == symbol
+ expect(Logit.logger.level).to eq(constant)
+ expect(Logit.level).to eq(symbol)
end
end
@@ -98,10 +98,9 @@ describe Mixlib::Log do
logdev = StringIO.new
Logit.init(logdev)
Logit.fatal { "the_message" }
- logdev.string.should match(/the_message/)
+ expect(logdev.string).to match(/the_message/)
end
-
it "should set the log level using the method form, with :debug, :info, :warn, :error, or :fatal" do
levels = {
:debug => Logger::DEBUG,
@@ -112,45 +111,43 @@ describe Mixlib::Log do
}
levels.each do |symbol, constant|
Logit.level(symbol)
- Logit.logger.level.should == constant
+ expect(Logit.logger.level).to eq(constant)
end
end
it "should raise an ArgumentError if you try and set the level to something strange using the binding form" do
- lambda { Logit.level = :the_roots }.should raise_error(ArgumentError)
+ expect(lambda { Logit.level = :the_roots }).to raise_error(ArgumentError)
end
it "should raise an ArgumentError if you try and set the level to something strange using the method form" do
- lambda { Logit.level(:the_roots) }.should raise_error(ArgumentError)
+ expect(lambda { Logit.level(:the_roots) }).to raise_error(ArgumentError)
end
it "should pass other method calls directly to logger" do
Logit.level = :debug
- Logit.should be_debug
- lambda { Logit.debug("Gimme some sugar!") }.should_not raise_error
+ expect(Logit).to be_debug
+ expect(lambda { Logit.debug("Gimme some sugar!") }).to_not raise_error
end
it "should pass add method calls directly to logger" do
logdev = StringIO.new
Logit.init(logdev)
Logit.level = :debug
- Logit.should be_debug
- lambda { Logit.add(Logger::DEBUG, "Gimme some sugar!") }.should_not raise_error
- logdev.string.should match(/Gimme some sugar/)
+ expect(Logit).to be_debug
+ expect(lambda { Logit.add(Logger::DEBUG, "Gimme some sugar!") }).to_not raise_error
+ expect(logdev.string).to match(/Gimme some sugar/)
end
it "should default to STDOUT if init is called with no arguments" do
logger_mock = Struct.new(:formatter, :level).new
- Logger.stub!(:new).and_return(logger_mock)
- Logger.should_receive(:new).with(STDOUT).and_return(logger_mock)
+ expect(Logger).to receive(:new).with(STDOUT).and_return(logger_mock)
Logit.init
end
it "should have by default a base log level of warn" do
logger_mock = Struct.new(:formatter, :level).new
- Logger.stub!(:new).and_return(logger_mock)
Logit.init
- Logit.level.should eql(:warn)
+ expect(Logit.level).to eq(:warn)
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index c26a4f0..1789614 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,15 +1,15 @@
#
-# Author:: Adam Jacob (<adam@opscode.com>)
-# Author:: Christopher Brown (<cb@opscode.com>)
-# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# Author:: Adam Jacob (<adam@chef.io>)
+# Author:: Christopher Brown (<cb@chef.io>)
+# Copyright:: Copyright (c) 2008-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.
@@ -17,12 +17,12 @@
# limitations under the License.
#
-$TESTING=true
-$:.push File.join(File.dirname(__FILE__), '..', 'lib')
+$TESTING = true
+$:.push File.join(File.dirname(__FILE__), "..", "lib")
-require 'rspec'
-require 'mixlib/log'
-require 'mixlib/log/formatter'
+require "rspec"
+require "mixlib/log"
+require "mixlib/log/formatter"
class Logit
extend Mixlib::Log