mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-22 12:17:36 -05:00
38 lines
950 B
Ruby
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__)
|
|
|