Skip to content

Commit 6f3acab

Browse files
committed
Add tests for Whisper.log_set
1 parent 16f6bb4 commit 6f3acab

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

bindings/ruby/tests/test_whisper.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
require_relative "helper"
2+
require "stringio"
3+
4+
# Exists to detect memory-related bug
5+
Whisper.log_set ->(level, buffer, user_data) {}, nil
26

37
class TestWhisper < TestBase
48
def setup
@@ -91,4 +95,32 @@ def test_lang_str_full
9195
Whisper.lang_str_full(Whisper.lang_max_id + 1)
9296
end
9397
end
98+
99+
def test_log_set
100+
user_data = Object.new
101+
logs = []
102+
log_callback = ->(level, buffer, udata) {
103+
logs << [level, buffer, udata]
104+
}
105+
Whisper.log_set log_callback, user_data
106+
Whisper::Context.new(MODEL)
107+
108+
assert logs.length > 30
109+
logs.each do |log|
110+
assert_same user_data, log[2]
111+
end
112+
end
113+
114+
def test_log_suppress
115+
stderr = $stderr
116+
Whisper.log_set ->(level, buffer, user_data) {
117+
# do nothing
118+
}, nil
119+
dev = StringIO.new("")
120+
$stderr = dev
121+
Whisper::Context.new(MODEL)
122+
assert_empty dev.string
123+
ensure
124+
$stderr = stderr
125+
end
94126
end

0 commit comments

Comments
 (0)