Skip to content

Commit 662902f

Browse files
committed
Add tests according to Github issue ecmwf#65
1 parent 3ea1a7a commit 662902f

File tree

5 files changed

+80
-1
lines changed

5 files changed

+80
-1
lines changed

‎tests/CMakeLists.txt‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ add_subdirectory( ecbuild_find_package )
77
add_subdirectory( ecbuild_add_option )
88
add_subdirectory( ecbuild_add_flags )
99
add_subdirectory( find_ecbuild )
10-
add_subdirectory( project_import )
1110
add_subdirectory( ecbuild_shared_libs )
1211
add_subdirectory( interface_library )
12+
add_subdirectory( project_import )
13+
add_subdirectory( project_summary )
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
ecbuild_add_test(
3+
TARGET test_ecbuild_project_summary
4+
TYPE SCRIPT
5+
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure.sh
6+
ENVIRONMENT CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
7+
)

‎tests/project_summary/clean.sh‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
HERE=${CMAKE_CURRENT_BINARY_DIR:-"$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd -P )"}
6+
7+
# --------------------- cleanup ------------------------
8+
echo "cleaning $HERE"
9+
rm -rf $HERE/build_*

‎tests/project_summary/configure.sh‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
function EXPECT_ONE_OF()
6+
{
7+
local file=$1
8+
local pattern=$2
9+
local found=$(cat ${file} | grep "${pattern}" | wc -l | xargs)
10+
11+
if [ "$found" != "1" ]; then
12+
echo "File ${file} does not contain exacly one of '$2'"
13+
exit 1
14+
fi
15+
}
16+
17+
HERE=${CMAKE_CURRENT_BINARY_DIR:-"$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd -P )"}
18+
SOURCE=${CMAKE_CURRENT_SOURCE_DIR:-$HERE}
19+
20+
# Add ecbuild to path
21+
export PATH=$SOURCE/../../bin:$PATH
22+
echo $PATH
23+
echo $SOURCE
24+
25+
# --------------------- cleanup ------------------------
26+
$SOURCE/clean.sh
27+
28+
# ----------------- configure project ---------------------
29+
30+
# Options: -DENABLE_MYFEATURE=ON
31+
32+
mkdir -p $HERE/build_1
33+
ecbuild -DENABLE_MYFEATURE=ON $SOURCE/test_project -B $HERE/build_1 | tee $HERE/build_1.log
34+
EXPECT_ONE_OF $HERE/build_1.log "* MYFEATURE, proja(✔): '', projb(✔): ''"
35+
36+
# Options: -DENABLE_MYFEATURE=ON -DPROJB_ENABLE_MYFEATURE=OFF
37+
38+
mkdir -p $HERE/build_2
39+
ecbuild -DENABLE_MYFEATURE=ON -DPROJB_ENABLE_MYFEATURE=OFF $SOURCE/test_project -B $HERE/build_2 | tee $HERE/build_2.log
40+
EXPECT_ONE_OF $HERE/build_2.log "* MYFEATURE, proja(✔): '', projb(✘): ''"
41+
42+
# Options: -DENABLE_MYFEATURE=OFF -DPROJB_ENABLE_MYFEATURE=ON
43+
44+
mkdir -p $HERE/build_3
45+
ecbuild -DENABLE_MYFEATURE=OFF -DPROJB_ENABLE_MYFEATURE=ON $SOURCE/test_project -B $HERE/build_3 | tee $HERE/build_3.log
46+
EXPECT_ONE_OF $HERE/build_3.log "* MYFEATURE, proja(✘): '', projb(✔): ''"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
cmake_minimum_required( VERSION 3.18.4 FATAL_ERROR )
2+
find_package( ecbuild 3.4 REQUIRED )
3+
4+
project( proja LANGUAGES NONE VERSION 0.2 )
5+
ecbuild_add_option(
6+
FEATURE MYFEATURE
7+
DEFAULT ON
8+
)
9+
10+
project( projb LANGUAGES NONE VERSION 0.1 )
11+
ecbuild_add_option(
12+
FEATURE MYFEATURE
13+
DEFAULT OFF
14+
)
15+
16+
ecbuild_print_summary()

0 commit comments

Comments
 (0)