Files
CPM.cmake/test/integration/runner.rb
2022-01-10 07:47:17 +02:00

38 lines
950 B
Ruby

require 'fileutils'
require 'open3'
require 'tmpdir'
require 'test/unit'
TestTmpDir = File.join(Dir.tmpdir, "cpm-itest-#{Time.now.strftime('%Y_%m_%d-%H_%M_%S')}")
raise "Test directory '#{TestTmpDir}' already exists" if File.exist?(TestTmpDir)
puts "Running CPM.cmake integration tests"
puts "Temp directory: '#{TestTmpDir}'"
CPMPath = File.expand_path('../../cmake/CPM.cmake', __dir__)
raise "Cannot file 'CPM.cmake' at '#{CPMPath}'" if !File.file?(CPMPath)
# Environment variables which are read by cpm
CPM_ENV = %w(
CPM_USE_LOCAL_PACKAGES
CPM_LOCAL_PACKAGES_ONLY
CPM_DOWNLOAD_ALL
CPM_DONT_UPDATE_MODULE_PATH
CPM_DONT_CREATE_PACKAGE_LOCK
CPM_INCLUDE_ALL_IN_PACKAGE_LOCK
CPM_USE_NAMED_CACHE_DIRECTORIES
CPM_SOURCE_CACHE
)
# Clear existing cpm-related env vars
CPM_ENV.each { ENV[_1] = nil }
class Project
def initialize(dir)
@dir = File.join(TestTmpDir, dir)
end
end
# exit Test::Unit::AutoRunner::run(true, __dir__)