From c7fd76ae0e2bc77f16ec9fb66ff1adefc03a74bc Mon Sep 17 00:00:00 2001 From: Borislav Stanimirov Date: Thu, 13 Jan 2022 08:16:52 +0200 Subject: [PATCH] Project file creation tweaks --- test/integration/lib.rb | 20 ++++++++++---------- test/integration/test_basics.rb | 4 ++-- test/integration/test_simple.rb | 8 +++++--- test/integration/test_source_cache.rb | 6 +++--- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/test/integration/lib.rb b/test/integration/lib.rb index d10143f..6510cf2 100644 --- a/test/integration/lib.rb +++ b/test/integration/lib.rb @@ -42,27 +42,27 @@ class Project attr :src_dir, :bin_dir - def create_file(target_path, text) + def create_file(target_path, text, args = {}) target_path = File.join(@src_dir, target_path) - File.write target_path, text - end - - def create_file_with(target_path, source_path, args) - source_path = File.join(@src_dir, source_path) - raise "#{source_path} doesn't exist" if !File.file?(source_path) # tweak args args[:cpm_path] = TestLib::CPM_PATH if !args[:cpm_path] args[:packages] = [args[:package]] if args[:package] # if args contain package, create the array args[:packages] = args[:packages].join("\n") if args[:packages] # join all packages if any + File.write target_path, text % args + end + + def create_file_from_template(target_path, source_path, args = {}) + source_path = File.join(@src_dir, source_path) + raise "#{source_path} doesn't exist" if !File.file?(source_path) src_text = File.read source_path - create_file target_path, src_text % args + create_file target_path, src_text, args end # common function to create ./CMakeLists.txt from ./lists.in.cmake - def create_lists_with(args) - create_file_with 'CMakeLists.txt', 'lists.in.cmake', args + def create_lists_from_default_template(args = {}) + create_file_from_template 'CMakeLists.txt', 'lists.in.cmake', args end CommandResult = Struct.new :out, :err, :status diff --git a/test/integration/test_basics.rb b/test/integration/test_basics.rb index 35518e0..8083123 100644 --- a/test/integration/test_basics.rb +++ b/test/integration/test_basics.rb @@ -6,7 +6,7 @@ class Basics < IntegrationTest # Test cpm caches with no cpm-related env vars def test_cpm_default prj = make_project 'no-deps' - prj.create_lists_with({}) + prj.create_lists_from_default_template assert_success prj.configure @cache = prj.read_cache @@ -39,7 +39,7 @@ class Basics < IntegrationTest ENV['CPM_SOURCE_CACHE'] = cur_test_dir prj = make_project 'no-deps' - prj.create_lists_with({}) + prj.create_lists_from_default_template assert_success prj.configure @cache = prj.read_cache diff --git a/test/integration/test_simple.rb b/test/integration/test_simple.rb index c6bb3f4..ff175bf 100644 --- a/test/integration/test_simple.rb +++ b/test/integration/test_simple.rb @@ -9,7 +9,8 @@ class Simple < IntegrationTest adder_ver_file = nil create_with_commit_sha = -> { - prj.create_lists_with package: 'CPMAddPackage("gh:cpm-cmake/testpack-adder#cad1cd4b4cdf957c5b59e30bc9a1dd200dbfc716")' + prj.create_lists_from_default_template package: + 'CPMAddPackage("gh:cpm-cmake/testpack-adder#cad1cd4b4cdf957c5b59e30bc9a1dd200dbfc716")' assert_success prj.configure cache = prj.read_cache @@ -35,7 +36,8 @@ class Simple < IntegrationTest adder_cache0 = adder_cache } update_to_version_1 = -> { - prj.create_lists_with package: 'CPMAddPackage("gh:cpm-cmake/testpack-adder@1.0.0")' + prj.create_lists_from_default_template package: + 'CPMAddPackage("gh:cpm-cmake/testpack-adder@1.0.0")' assert_success prj.configure cache = prj.read_cache @@ -52,7 +54,7 @@ class Simple < IntegrationTest assert_equal '1.0.0', File.read(adder_ver_file).strip } update_with_option_off_and_build = -> { - prj.create_lists_with package: <<~PACK + prj.create_lists_from_default_template package: <<~PACK CPMAddPackage( NAME testpack-adder GITHUB_REPOSITORY cpm-cmake/testpack-adder diff --git a/test/integration/test_source_cache.rb b/test/integration/test_source_cache.rb index 0d1e175..fd8f92d 100644 --- a/test/integration/test_source_cache.rb +++ b/test/integration/test_source_cache.rb @@ -13,7 +13,7 @@ class SourceCache < IntegrationTest ################################### # create - prj.create_lists_with package: 'CPMAddPackage("gh:cpm-cmake/testpack-fibadder@1.0.0")' + prj.create_lists_from_default_template package: 'CPMAddPackage("gh:cpm-cmake/testpack-fibadder@1.0.0")' assert_success prj.configure @cache = prj.read_cache @@ -29,7 +29,7 @@ class SourceCache < IntegrationTest ################################### # add one package with a newer version - prj.create_lists_with packages: [ + prj.create_lists_from_default_template packages: [ 'CPMAddPackage("gh:cpm-cmake/testpack-adder@1.0.1")', 'CPMAddPackage("gh:cpm-cmake/testpack-fibadder@1.0.0")', ] @@ -46,7 +46,7 @@ class SourceCache < IntegrationTest def test_second_project prj = make_project 'using-fibadder' - prj.create_lists_with package: 'CPMAddPackage("gh:cpm-cmake/testpack-fibadder@1.1.0")' + prj.create_lists_from_default_template package: 'CPMAddPackage("gh:cpm-cmake/testpack-fibadder@1.1.0")' assert_success prj.configure @cache = prj.read_cache