Skip to content

Commit f87057e

Browse files
committed
[WIP] Add packaging tests
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
1 parent bf12fe2 commit f87057e

File tree

9 files changed

+98
-0
lines changed

9 files changed

+98
-0
lines changed

test-suite/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,5 @@ endforeach ()
130130
add_subdirectory(tests)
131131
## Add functional tests
132132
add_subdirectory(libv2-demo)
133+
## Add packaging tests
134+
add_subdirectory(package)

test-suite/package/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
set_property(DIRECTORY APPEND
2+
PROPERTY LABELS package
3+
)
4+
5+
set(test_list
6+
FetchContent
7+
find_package
8+
)
9+
if (NOT Wannier90_IS_TOP_LEVEL)
10+
list(APPEND test_list pkg-config)
11+
endif ()
12+
13+
foreach (test IN LISTS test_list)
14+
Wannier90_add_test(${test} TEST_NAME test-${test})
15+
endforeach ()
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
cmake_minimum_required(VERSION 3.25...3.29)
2+
project(example_Wannier90 LANGUAGES Fortran)
3+
4+
5+
include(FetchContent)
6+
7+
if (DEFINED ENV{PACKIT_SOURCE_URL})
8+
set(git_repo $ENV{PACKIT_SOURCE_URL})
9+
else ()
10+
set(git_repo https://github.com/wannier-developers/wannier90)
11+
endif ()
12+
if (DEFINED ENV{PACKIT_SOURCE_SHA})
13+
set(git_tag $ENV{PACKIT_SOURCE_SHA})
14+
elseif (DEFINED ENV{PACKIT_COMMIT_SHA})
15+
set(git_tag $ENV{PACKIT_COMMIT_SHA})
16+
else ()
17+
set(git_tag develop)
18+
endif ()
19+
20+
FetchContent_Declare(Wannier90
21+
GIT_REPOSITORY ${git_repo}
22+
GIT_TAG ${git_tag}
23+
)
24+
FetchContent_MakeAvailable(Wannier90)
25+
26+
add_executable(main src/main.F90)
27+
target_link_libraries(main PRIVATE Wannier90::wannier90)
28+
29+
enable_testing()
30+
31+
add_test(NAME smoke_test_lib
32+
COMMAND $<TARGET_FILE:main>
33+
)
34+
add_test(NAME smoke_test_exe
35+
COMMAND $<TARGET_FILE:Wannier90::exe> --version
36+
)
37+
add_test(NAME smoke_test_post
38+
COMMAND $<TARGET_FILE:Wannier90::post> --version
39+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../src/
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
cmake_minimum_required(VERSION 3.25...3.29)
2+
project(example_Wannier90 LANGUAGES Fortran)
3+
4+
find_package(Wannier90 REQUIRED)
5+
6+
add_executable(main src/main.F90)
7+
target_link_libraries(main PRIVATE Wannier90::wannier90)
8+
9+
enable_testing()
10+
11+
add_test(NAME smoke_test_lib
12+
COMMAND $<TARGET_FILE:main>
13+
)
14+
add_test(NAME smoke_test_exe
15+
COMMAND $<TARGET_FILE:Wannier90::exe> --version
16+
)
17+
add_test(NAME smoke_test_post
18+
COMMAND $<TARGET_FILE:Wannier90::post> --version
19+
)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../src/
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
cmake_minimum_required(VERSION 3.25...3.29)
2+
project(example_Wannier90 LANGUAGES Fortran)
3+
4+
find_package(PkgConfig REQUIRED)
5+
pkg_check_modules(Wannier90 REQUIRED IMPORTED_TARGET wannier90)
6+
7+
add_executable(main src/main.F90)
8+
target_link_libraries(main PRIVATE PkgConfig::Wannier90)
9+
10+
enable_testing()
11+
12+
add_test(NAME smoke_test_lib
13+
COMMAND $<TARGET_FILE:main>
14+
)

test-suite/package/pkg-config/src

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../src/

test-suite/package/src/main.F90

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
program wannier90_example
2+
use w90_library
3+
implicit none
4+
5+
! TODO: Implement basic smoke test
6+
end program wannier90_example

0 commit comments

Comments
 (0)