summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2020-03-12 15:30:20 +0900
committerYusuke Endoh <mame@ruby-lang.org>2020-03-12 15:30:20 +0900
commitc6633f21a49c90ab7c37076d79c286bbf3438c1f (patch)
tree74e028c1463c9c13edd8137a55cfbdd31c9aa56b
parentf020d340f4eceb2fc809499e3e57924eac4bb75b (diff)
Update some syslog tests to absurb the format change of FreeBSD syslog
FreeBSD ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec 78462 - - Hello ``` Linux ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec: Hello ``` https://github.com/freebsd/freebsd/commit/591ef7c8076109cff3c41f9bb50da996a34121e9
-rw-r--r--spec/ruby/library/syslog/log_spec.rb6
-rw-r--r--spec/ruby/library/syslog/shared/log.rb7
-rw-r--r--test/test_syslog.rb7
3 files changed, 10 insertions, 10 deletions
diff --git a/spec/ruby/library/syslog/log_spec.rb b/spec/ruby/library/syslog/log_spec.rb
index d0eaea2a94..8589fb1f73 100644
--- a/spec/ruby/library/syslog/log_spec.rb
+++ b/spec/ruby/library/syslog/log_spec.rb
@@ -20,7 +20,7 @@ platform_is_not :windows do
s.log(Syslog::LOG_ALERT, "Hello")
s.log(Syslog::LOG_CRIT, "World")
end
- }.should output_to_fd("rubyspec: Hello\nrubyspec: World\n", $stderr)
+ }.should output_to_fd(/\Arubyspec(?::| \d+ - -) Hello\nrubyspec(?::| \d+ - -) World\n\z/, $stderr)
end
it "accepts undefined priorities" do
@@ -29,7 +29,7 @@ platform_is_not :windows do
s.log(1337, "Hello")
end
# use a regex since it'll output unknown facility/priority messages
- }.should output_to_fd(/rubyspec: Hello/, $stderr)
+ }.should output_to_fd(/rubyspec(?::| \d+ - -) Hello\n\z/, $stderr)
end
it "fails with TypeError on nil log messages" do
@@ -49,7 +49,7 @@ platform_is_not :windows do
Syslog.open("rubyspec", Syslog::LOG_PERROR) do |s|
s.log(Syslog::LOG_ALERT, "%s x %d", "chunky bacon", 2)
end
- }.should output_to_fd("rubyspec: chunky bacon x 2\n", $stderr)
+ }.should output_to_fd(/rubyspec(?::| \d+ - -) chunky bacon x 2\n\z/, $stderr)
end
end
end
diff --git a/spec/ruby/library/syslog/shared/log.rb b/spec/ruby/library/syslog/shared/log.rb
index c77ff6dd95..12e4ea8366 100644
--- a/spec/ruby/library/syslog/shared/log.rb
+++ b/spec/ruby/library/syslog/shared/log.rb
@@ -13,7 +13,7 @@ describe :syslog_log, shared: true do
Syslog.open("rubyspec", Syslog::LOG_PERROR) do
Syslog.send(@method, "Hello")
end
- }.should output_to_fd("rubyspec: Hello\n", $stderr)
+ }.should output_to_fd(/\Arubyspec(?::| \d+ - -) Hello\n\z/, $stderr)
end
it "accepts sprintf arguments" do
@@ -22,19 +22,18 @@ describe :syslog_log, shared: true do
Syslog.send(@method, "Hello %s", "world")
Syslog.send(@method, "%d dogs", 2)
end
- }.should output_to_fd("rubyspec: Hello world\nrubyspec: 2 dogs\n", $stderr)
+ }.should output_to_fd(/\Arubyspec(?::| \d+ - -) Hello world\nrubyspec(?::| \d+ - -) 2 dogs\n\z/, $stderr)
end
it "works as an alias for Syslog.log" do
level = Syslog.const_get "LOG_#{@method.to_s.upcase}"
- response = "rubyspec: Hello\n"
-> {
Syslog.open("rubyspec", Syslog::LOG_PERROR) do
Syslog.send(@method, "Hello")
Syslog.log(level, "Hello")
end
# make sure the same thing is written to $stderr.
- }.should output_to_fd(response * 2, $stderr)
+ }.should output_to_fd(/\A(?:rubyspec(?::| \d+ - -) Hello\n){2}\z/, $stderr)
end
end
end
diff --git a/test/test_syslog.rb b/test/test_syslog.rb
index 5327814f7a..842ae8df49 100644
--- a/test/test_syslog.rb
+++ b/test/test_syslog.rb
@@ -113,7 +113,7 @@ class TestSyslog < Test::Unit::TestCase
end
def syslog_line_regex(ident, message)
- /(?:^| )#{Regexp.quote(ident)}(?:\[([1-9][0-9]*)\])?(?: |[: ].* )#{Regexp.quote(message)}$/
+ /(?:^| )#{Regexp.quote(ident)}(?:\[([1-9][0-9]*)\])?(?: | ([1-9][0-9]*) - - ||[: ].* )#{Regexp.quote(message)}$/
end
def test_log
@@ -170,8 +170,9 @@ class TestSyslog < Test::Unit::TestCase
end
m = re.match(line)
assert_not_nil(m)
- assert_not_nil(m[1])
- assert_equal(pid, m[1].to_i)
+ output_pid = m[1] || m[2]
+ assert_not_nil(output_pid)
+ assert_equal(pid, output_pid.to_i)
}
}
end