diff options
author | Ondřej Čertík <ondrej@certik.us> | 2020-04-30 00:52:06 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-30 00:52:06 -0600 |
commit | f071fcc750da95e008f622d96fb033a4b0f73039 (patch) | |
tree | 787ab0d77c9db8a6c2982cd1b994e7bf88731f5f /hello_complex | |
parent | a8dabeea48210450e6b1088c95abf80358f40e3c (diff) | |
parent | d6e5d3055946e58bd17dfc156bcffe88ef08b5dd (diff) | |
download | fpm-f071fcc750da95e008f622d96fb033a4b0f73039.tar.gz fpm-f071fcc750da95e008f622d96fb033a4b0f73039.zip |
Merge pull request #54 from everythingfunctional/AdditionalTesting
Additional testing
Diffstat (limited to 'hello_complex')
-rw-r--r-- | hello_complex/.gitignore | 1 | ||||
-rw-r--r-- | hello_complex/apps/say_goodbye/say_goodbye.f90 | 7 | ||||
-rw-r--r-- | hello_complex/apps/say_hello/say_hello.f90 | 7 | ||||
-rw-r--r-- | hello_complex/fpm.toml | 25 | ||||
-rw-r--r-- | hello_complex/source/farewell_m.f90 | 13 | ||||
-rw-r--r-- | hello_complex/source/greet_m.f90 | 13 | ||||
-rw-r--r-- | hello_complex/tests/farewell/farewell_test.f90 | 18 | ||||
-rw-r--r-- | hello_complex/tests/greet/greet_test.f90 | 18 |
8 files changed, 102 insertions, 0 deletions
diff --git a/hello_complex/.gitignore b/hello_complex/.gitignore new file mode 100644 index 0000000..a007fea --- /dev/null +++ b/hello_complex/.gitignore @@ -0,0 +1 @@ +build/* diff --git a/hello_complex/apps/say_goodbye/say_goodbye.f90 b/hello_complex/apps/say_goodbye/say_goodbye.f90 new file mode 100644 index 0000000..6966e79 --- /dev/null +++ b/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/hello_complex/apps/say_hello/say_hello.f90 b/hello_complex/apps/say_hello/say_hello.f90 new file mode 100644 index 0000000..cc648f2 --- /dev/null +++ b/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/hello_complex/fpm.toml b/hello_complex/fpm.toml new file mode 100644 index 0000000..8408d3a --- /dev/null +++ b/hello_complex/fpm.toml @@ -0,0 +1,25 @@ +name = "hello_complex" +compiler = "gfortran" + +[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/hello_complex/source/farewell_m.f90 b/hello_complex/source/farewell_m.f90 new file mode 100644 index 0000000..9fc75b9 --- /dev/null +++ b/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/hello_complex/source/greet_m.f90 b/hello_complex/source/greet_m.f90 new file mode 100644 index 0000000..2372f9a --- /dev/null +++ b/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/hello_complex/tests/farewell/farewell_test.f90 b/hello_complex/tests/farewell/farewell_test.f90 new file mode 100644 index 0000000..0f21b18 --- /dev/null +++ b/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/hello_complex/tests/greet/greet_test.f90 b/hello_complex/tests/greet/greet_test.f90 new file mode 100644 index 0000000..41fa508 --- /dev/null +++ b/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 |