mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2025-04-26 22:09:44 +00:00
* Fix signature of URI.new7s return value * Use path instead of string | _ToPath * Add document comment to RBS * Remove unnecessary build flags * Remove unnecessary line * Remove files have become unnecessary * Make gem install accept build options for whisper.cpp * Add instraction for build options in README * Add methods for check to Options * Test build options * Rename: configs -> options * Add assert_installed assertion * Use assert_installed * Remove unused attribute * Extract dependency check logic as Dependencies class * Update README * Add WHISPER_FFMPEG option * Test extra build options only on local test * Bump version to 1.3.2 [skip ci]
47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
require_relative "helper"
|
|
require 'tempfile'
|
|
require 'tmpdir'
|
|
require 'shellwords'
|
|
|
|
class TestPackage < TestBase
|
|
def test_build
|
|
Tempfile.create do |file|
|
|
assert system("gem", "build", "whispercpp.gemspec", "--output", file.to_path.shellescape, exception: true)
|
|
assert file.size > 0
|
|
assert_path_exist file.to_path
|
|
end
|
|
end
|
|
|
|
sub_test_case "Building binary on installation" do
|
|
def setup
|
|
system "rake", "build", exception: true
|
|
end
|
|
|
|
def test_install
|
|
match_data = `rake -Tbuild`.match(/(whispercpp-(.+)\.gem)/)
|
|
filename = match_data[1]
|
|
version = match_data[2]
|
|
Dir.mktmpdir do |dir|
|
|
system "gem", "install", "--install-dir", dir.shellescape, "--no-document", "pkg/#{filename.shellescape}", exception: true
|
|
assert_installed dir, version
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def assert_installed(dir, version)
|
|
assert_path_exist File.join(dir, "gems/whispercpp-#{version}/lib", "whisper.#{RbConfig::CONFIG["DLEXT"]}")
|
|
assert_path_exist File.join(dir, "gems/whispercpp-#{version}/LICENSE")
|
|
assert_path_not_exist File.join(dir, "gems/whispercpp-#{version}/ext/build")
|
|
end
|
|
end
|
|
|
|
def test_build_options
|
|
options = BuildOptions::Options.new
|
|
assert_empty options.missing_options
|
|
unless ENV["CI"]
|
|
assert_empty options.extra_options
|
|
end
|
|
end
|
|
end
|