Skip to content

Commit

Permalink
Integration tests for PATCHES command.
Browse files Browse the repository at this point in the history
  • Loading branch information
ScottBailey committed Apr 25, 2024
1 parent ceef053 commit 5ed5dfe
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 0 deletions.
13 changes: 13 additions & 0 deletions test/integration/templates/using-patch-adder/lists.in.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)

project(using-patch-adder)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

include("%{cpm_path}")

%{packages}

add_executable(using-patch-adder using-patch-adder.cpp)

target_link_libraries(using-patch-adder adder)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/code/adder/adder.hpp b/code/adder/adder.hpp
index fdb9324..7c2fa00 100644
--- a/code/adder/adder.hpp
+++ b/code/adder/adder.hpp
@@ -1,6 +1,6 @@
#pragma once

-namespace adder
+namespace patched
{
int add(int a, int b);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/code/adder/adder.cpp b/code/adder/adder.cpp
index fc6e767..44b1197 100644
--- a/code/adder/adder.cpp
+++ b/code/adder/adder.cpp
@@ -1,6 +1,6 @@
#include "adder.hpp"

-namespace adder
+namespace patched
{
int add(int a, int b)
{
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <adder/adder.hpp>
#include <cstdio>

int main() {
int sum = patched::add(5, 3);
std::printf("%d\n", sum);
return 0;
}
27 changes: 27 additions & 0 deletions test/integration/test_patches_command.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
require_relative './lib'

# Tests using a multi-argumenet PATCHES command to fetch and modify a dependency

class DownloadCommand < IntegrationTest

def test_fetch_dependency_using_download_command
prj = make_project from_template: 'using-patch-adder'

prj.create_lists_from_default_template package: <<~PACK
set(DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/_deps/testpack-adder-src)
CPMAddPackage(
NAME testpack-adder
DOWNLOAD_COMMAND git clone --depth 1 --branch v1.0.0 https://github.com/cpm-cmake/testpack-adder.git ${DOWNLOAD_DIR}
OPTIONS "ADDER_BUILD_TESTS OFF" "ADDER_BUILD_EXAMPLES OFF"
PATCHES
patches/001-test_patches_command.patch
patches/002-test_patches_command.patch
)
PACK

# configure with unpopulated cache
assert_success prj.configure
assert_success prj.build
end

end

0 comments on commit 5ed5dfe

Please sign in to comment.