aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBrad Richardson <brichardson@structint.com>2020-05-30 17:13:09 -0700
committerBrad Richardson <brichardson@structint.com>2020-05-30 17:13:09 -0700
commitf33bb50d3e15035aee97ef2a9c032f511aab447f (patch)
tree3bd285437179b79c5f9bccb3aa6496ff52d464c2 /test
parent9d83f04a6f6318fd51405da500a3529fe7f9fabd (diff)
downloadfpm-f33bb50d3e15035aee97ef2a9c032f511aab447f.tar.gz
fpm-f33bb50d3e15035aee97ef2a9c032f511aab447f.zip
Move example packages into test folder
Diffstat (limited to 'test')
-rw-r--r--test/Spec.hs10
-rw-r--r--test/example_packages/circular_example/.gitignore1
-rw-r--r--test/example_packages/circular_example/fpm.toml8
-rw-r--r--test/example_packages/circular_example/src/greet_m.f9013
-rw-r--r--test/example_packages/circular_example/tests/main.f907
-rw-r--r--test/example_packages/circular_test/.gitignore1
-rw-r--r--test/example_packages/circular_test/fpm.toml4
-rw-r--r--test/example_packages/circular_test/src/hello_test.f9012
-rw-r--r--test/example_packages/hello_complex/.gitignore1
-rw-r--r--test/example_packages/hello_complex/apps/say_goodbye/say_goodbye.f907
-rw-r--r--test/example_packages/hello_complex/apps/say_hello/say_hello.f907
-rw-r--r--test/example_packages/hello_complex/fpm.toml24
-rw-r--r--test/example_packages/hello_complex/source/farewell_m.f9013
-rw-r--r--test/example_packages/hello_complex/source/greet_m.f9013
-rw-r--r--test/example_packages/hello_complex/tests/farewell/farewell_test.f9018
-rw-r--r--test/example_packages/hello_complex/tests/greet/greet_test.f9018
-rw-r--r--test/example_packages/hello_fpm/.gitignore1
-rw-r--r--test/example_packages/hello_fpm/app/main.f909
-rw-r--r--test/example_packages/hello_fpm/fpm.toml4
-rw-r--r--test/example_packages/hello_world/.gitignore1
-rw-r--r--test/example_packages/hello_world/app/main.f903
-rw-r--r--test/example_packages/hello_world/fpm.toml1
22 files changed, 172 insertions, 4 deletions
diff --git a/test/Spec.hs b/test/Spec.hs
index 2808af9..604d8af 100644
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -5,6 +5,8 @@ import Fpm ( Arguments(..)
)
import System.Directory ( withCurrentDirectory )
+example_path = "test" </> "example_packages"
+
main :: IO ()
main = do
testHelloWorld
@@ -14,16 +16,16 @@ main = do
testHelloWorld :: IO ()
testHelloWorld =
- withCurrentDirectory "hello_world" $ start $ Arguments Run False
+ withCurrentDirectory (example_path </> "hello_world") $ start $ Arguments Run False
testHelloComplex :: IO ()
testHelloComplex =
- withCurrentDirectory "hello_complex" $ start $ Arguments Test False
+ withCurrentDirectory (example_path </> "hello_complex") $ start $ Arguments Test False
testHelloFpm :: IO ()
testHelloFpm =
- withCurrentDirectory "hello_fpm" $ start $ Arguments Run False
+ withCurrentDirectory (example_path </> "hello_fpm") $ start $ Arguments Run False
testCircular :: IO ()
testCircular =
- withCurrentDirectory "circular_example" $ start $ Arguments Test False
+ withCurrentDirectory (example_path </> "circular_example") $ start $ Arguments Test False
diff --git a/test/example_packages/circular_example/.gitignore b/test/example_packages/circular_example/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/test/example_packages/circular_example/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/test/example_packages/circular_example/fpm.toml b/test/example_packages/circular_example/fpm.toml
new file mode 100644
index 0000000..034ec57
--- /dev/null
+++ b/test/example_packages/circular_example/fpm.toml
@@ -0,0 +1,8 @@
+name = "circular_example"
+
+[[test]]
+ name = "test"
+ source-dir = "tests"
+ main = "main.f90"
+ [test.dependencies]
+ circular_test = { path = "../circular_test" }
diff --git a/test/example_packages/circular_example/src/greet_m.f90 b/test/example_packages/circular_example/src/greet_m.f90
new file mode 100644
index 0000000..2372f9a
--- /dev/null
+++ b/test/example_packages/circular_example/src/greet_m.f90
@@ -0,0 +1,13 @@
+module greet_m
+ implicit none
+ private
+
+ public :: make_greeting
+contains
+ function make_greeting(name) result(greeting)
+ character(len=*), intent(in) :: name
+ character(len=:), allocatable :: greeting
+
+ greeting = "Hello, " // name // "!"
+ end function make_greeting
+end module greet_m
diff --git a/test/example_packages/circular_example/tests/main.f90 b/test/example_packages/circular_example/tests/main.f90
new file mode 100644
index 0000000..5b7d803
--- /dev/null
+++ b/test/example_packages/circular_example/tests/main.f90
@@ -0,0 +1,7 @@
+program run_tests
+ use hello_test, only: run_test
+
+ implicit none
+
+ call run_test
+end program run_tests
diff --git a/test/example_packages/circular_test/.gitignore b/test/example_packages/circular_test/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/test/example_packages/circular_test/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/test/example_packages/circular_test/fpm.toml b/test/example_packages/circular_test/fpm.toml
new file mode 100644
index 0000000..56cfa2e
--- /dev/null
+++ b/test/example_packages/circular_test/fpm.toml
@@ -0,0 +1,4 @@
+name = "circular_test"
+
+[dependencies]
+circular_example = { path = "../circular_example"}
diff --git a/test/example_packages/circular_test/src/hello_test.f90 b/test/example_packages/circular_test/src/hello_test.f90
new file mode 100644
index 0000000..5a591c6
--- /dev/null
+++ b/test/example_packages/circular_test/src/hello_test.f90
@@ -0,0 +1,12 @@
+module hello_test
+ use greet_m, only: make_greeting
+
+ implicit none
+ private
+
+ public :: run_test
+contains
+ subroutine run_test
+ print *, make_greeting("from test")
+ end subroutine run_test
+end module hello_test
diff --git a/test/example_packages/hello_complex/.gitignore b/test/example_packages/hello_complex/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/test/example_packages/hello_complex/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/test/example_packages/hello_complex/apps/say_goodbye/say_goodbye.f90 b/test/example_packages/hello_complex/apps/say_goodbye/say_goodbye.f90
new file mode 100644
index 0000000..6966e79
--- /dev/null
+++ b/test/example_packages/hello_complex/apps/say_goodbye/say_goodbye.f90
@@ -0,0 +1,7 @@
+program say_goodbye
+ use farewell_m, only: make_farewell
+
+ implicit none
+
+ print *, make_farewell("World")
+end program say_goodbye
diff --git a/test/example_packages/hello_complex/apps/say_hello/say_hello.f90 b/test/example_packages/hello_complex/apps/say_hello/say_hello.f90
new file mode 100644
index 0000000..cc648f2
--- /dev/null
+++ b/test/example_packages/hello_complex/apps/say_hello/say_hello.f90
@@ -0,0 +1,7 @@
+program say_hello
+ use greet_m, only: make_greeting
+
+ implicit none
+
+ print *, make_greeting("World")
+end program say_hello
diff --git a/test/example_packages/hello_complex/fpm.toml b/test/example_packages/hello_complex/fpm.toml
new file mode 100644
index 0000000..d185745
--- /dev/null
+++ b/test/example_packages/hello_complex/fpm.toml
@@ -0,0 +1,24 @@
+name = "hello_complex"
+
+[library]
+source-dir="source"
+
+[[executable]]
+name="say_hello"
+source-dir="apps/say_hello"
+main="say_hello.f90"
+
+[[executable]]
+name="say_goodbye"
+source-dir="apps/say_goodbye"
+main="say_goodbye.f90"
+
+[[test]]
+name="greet_test"
+source-dir="tests/greet"
+main="greet_test.f90"
+
+[[test]]
+name="farewell_test"
+source-dir="tests/farewell"
+main="farewell_test.f90"
diff --git a/test/example_packages/hello_complex/source/farewell_m.f90 b/test/example_packages/hello_complex/source/farewell_m.f90
new file mode 100644
index 0000000..9fc75b9
--- /dev/null
+++ b/test/example_packages/hello_complex/source/farewell_m.f90
@@ -0,0 +1,13 @@
+module farewell_m
+ implicit none
+ private
+
+ public :: make_farewell
+contains
+ function make_farewell(name) result(greeting)
+ character(len=*), intent(in) :: name
+ character(len=:), allocatable :: greeting
+
+ greeting = "Goodbye, " // name // "!"
+ end function make_farewell
+end module farewell_m
diff --git a/test/example_packages/hello_complex/source/greet_m.f90 b/test/example_packages/hello_complex/source/greet_m.f90
new file mode 100644
index 0000000..2372f9a
--- /dev/null
+++ b/test/example_packages/hello_complex/source/greet_m.f90
@@ -0,0 +1,13 @@
+module greet_m
+ implicit none
+ private
+
+ public :: make_greeting
+contains
+ function make_greeting(name) result(greeting)
+ character(len=*), intent(in) :: name
+ character(len=:), allocatable :: greeting
+
+ greeting = "Hello, " // name // "!"
+ end function make_greeting
+end module greet_m
diff --git a/test/example_packages/hello_complex/tests/farewell/farewell_test.f90 b/test/example_packages/hello_complex/tests/farewell/farewell_test.f90
new file mode 100644
index 0000000..0f21b18
--- /dev/null
+++ b/test/example_packages/hello_complex/tests/farewell/farewell_test.f90
@@ -0,0 +1,18 @@
+program farewell_test
+ use farewell_m, only: make_farewell
+ use iso_fortran_env, only: error_unit, output_unit
+
+ implicit none
+
+ character(len=:), allocatable :: farewell
+
+ allocate(character(len=0) :: farewell)
+ farewell = make_farewell("World")
+
+ if (farewell == "Goodbye, World!") then
+ write(output_unit, *) "Passed"
+ else
+ write(error_unit, *) "Failed"
+ call exit(1)
+ end if
+end program farewell_test
diff --git a/test/example_packages/hello_complex/tests/greet/greet_test.f90 b/test/example_packages/hello_complex/tests/greet/greet_test.f90
new file mode 100644
index 0000000..41fa508
--- /dev/null
+++ b/test/example_packages/hello_complex/tests/greet/greet_test.f90
@@ -0,0 +1,18 @@
+program greet_test
+ use greet_m, only: make_greeting
+ use iso_fortran_env, only: error_unit, output_unit
+
+ implicit none
+
+ character(len=:), allocatable :: greeting
+
+ allocate(character(len=0) :: greeting)
+ greeting = make_greeting("World")
+
+ if (greeting == "Hello, World!") then
+ write(output_unit, *) "Passed"
+ else
+ write(error_unit, *) "Failed"
+ call exit(1)
+ end if
+end program greet_test
diff --git a/test/example_packages/hello_fpm/.gitignore b/test/example_packages/hello_fpm/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/test/example_packages/hello_fpm/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/test/example_packages/hello_fpm/app/main.f90 b/test/example_packages/hello_fpm/app/main.f90
new file mode 100644
index 0000000..5df6d64
--- /dev/null
+++ b/test/example_packages/hello_fpm/app/main.f90
@@ -0,0 +1,9 @@
+program hello_fpm
+ use farewell_m, only: make_farewell
+ use greet_m, only: make_greeting
+
+ implicit none
+
+ print *, make_greeting("fpm")
+ print *, make_farewell("fpm")
+end program hello_fpm
diff --git a/test/example_packages/hello_fpm/fpm.toml b/test/example_packages/hello_fpm/fpm.toml
new file mode 100644
index 0000000..d94d904
--- /dev/null
+++ b/test/example_packages/hello_fpm/fpm.toml
@@ -0,0 +1,4 @@
+name = "hello_fpm"
+
+[dependencies]
+hello_complex = { path = "../hello_complex" }
diff --git a/test/example_packages/hello_world/.gitignore b/test/example_packages/hello_world/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/test/example_packages/hello_world/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/test/example_packages/hello_world/app/main.f90 b/test/example_packages/hello_world/app/main.f90
new file mode 100644
index 0000000..d16022b
--- /dev/null
+++ b/test/example_packages/hello_world/app/main.f90
@@ -0,0 +1,3 @@
+program hello_world
+ print *, "Hello, World!"
+end program hello_world
diff --git a/test/example_packages/hello_world/fpm.toml b/test/example_packages/hello_world/fpm.toml
new file mode 100644
index 0000000..b80e8d1
--- /dev/null
+++ b/test/example_packages/hello_world/fpm.toml
@@ -0,0 +1 @@
+name = "hello_world"