257b1a5e49
Run sync within a SQL transaction, so that no partial sync happens Don't abort on SQL errors, but print ERROR notice Exit with code 1 when any ERRORs were logged Silence the test suite, so that test runs are more clearly Use PG queries instead of psql in test. This is more flexible than parsing text outputs per Regexp.
25 lines
413 B
Ruby
25 lines
413 B
Ruby
require 'logger'
|
|
|
|
module PgLdapSync
|
|
class Logger < ::Logger
|
|
def initialize(io, counters)
|
|
super(io)
|
|
@counters = {}
|
|
end
|
|
|
|
def add(severity, *args)
|
|
@counters[severity] ||= 0
|
|
@counters[severity] += 1
|
|
super
|
|
end
|
|
|
|
def had_logged?(severity)
|
|
@counters[severity] && @counters[severity] > 0
|
|
end
|
|
|
|
def had_errors?
|
|
had_logged?(Logger::FATAL) || had_logged?(Logger::ERROR)
|
|
end
|
|
end
|
|
end
|