mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
Add package tests (#13853)
This commit is contained in:
58
tests/package_test
Executable file
58
tests/package_test
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require_relative '../lib/const'
|
||||
require_relative '../lib/color'
|
||||
require_relative '../lib/package'
|
||||
require_relative '../lib/package_utils'
|
||||
|
||||
# Add >LOCAL< lib to LOAD_PATH so that packages can be loaded
|
||||
$LOAD_PATH.unshift File.join(CREW_LIB_PATH, 'lib')
|
||||
|
||||
def check_package(pkg, verbose: false)
|
||||
puts "Checking #{pkg.name} package ...".yellow if verbose
|
||||
unless PackageUtils.installed?(pkg.name)
|
||||
puts "Package #{pkg.name} is not installed.".lightred
|
||||
puts "Package tests for #{pkg.name} failed.".lightred
|
||||
return 1
|
||||
end
|
||||
if File.exist? "#{CREW_LIB_PATH}/tests/package/#{pkg.name[0]}/#{pkg.name}"
|
||||
stdout = `#{CREW_LIB_PATH}/tests/package/#{pkg.name[0]}/#{pkg.name} 2> /tmp/errout`
|
||||
errout = `cat /tmp/errout`.chomp
|
||||
else
|
||||
stdout = ''
|
||||
errout = "Package tests for #{pkg.name} do not exist. :(".lightred
|
||||
end
|
||||
print stdout
|
||||
# Check if the tests passed.
|
||||
if errout.empty?
|
||||
puts "Package tests for #{pkg.name} passed.".lightgreen if verbose
|
||||
return 0
|
||||
else
|
||||
puts errout
|
||||
puts "Package tests for #{pkg.name} failed.".lightred
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
if ARGV[0]
|
||||
ARGV.each do |name|
|
||||
if File.file?(File.join(CREW_PACKAGES_PATH, "#{name}.rb"))
|
||||
test_result = check_package(Package.load_package(File.join(CREW_PACKAGES_PATH, "#{name}.rb")), verbose: true)
|
||||
exit(1) if test_result.positive?
|
||||
else
|
||||
puts "Package #{name} not found.".lightred
|
||||
end
|
||||
end
|
||||
else
|
||||
failed_packages = 0
|
||||
Dir["#{CREW_PACKAGES_PATH}/*.rb"].each do |filename|
|
||||
failed_packages += check_package(Package.load_package(filename))
|
||||
end
|
||||
|
||||
if failed_packages.positive?
|
||||
puts "\n#{failed_packages} packages failed package tests.".lightred
|
||||
exit(1)
|
||||
else
|
||||
puts "\nAll packages passed package tests.".lightgreen
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user