https://github.com/everythingfunctional/cart
Tool for creating the driver program for a veggies test suite.
https://github.com/everythingfunctional/cart
Last synced: about 1 month ago
JSON representation
Tool for creating the driver program for a veggies test suite.
- Host: GitHub
- URL: https://github.com/everythingfunctional/cart
- Owner: everythingfunctional
- Created: 2022-04-15T15:54:21.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-15T15:54:56.000Z (almost 4 years ago)
- Last Synced: 2025-07-01T02:44:37.425Z (9 months ago)
- Language: Fortran
- Size: 15.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cart
Tool for creating the driver program for a [veggies] or [garden] test suite.
## Downloading and installing
Build and install with the Fortran Package Manager ([fpm]):
```
git clone https://gitlab.com/everythingfunctional/cart.git
cd cart
fpm install
```
## Using
Make a veggies/cart driver as follows:
```
cart [--garden] [--setup_module "setup_m" --setup_procedure "setup" --teardown_module "teardown_m" --teardown_procedure "teardown"] driver_name test_file [more [test [files [...]]]]
```
It is expected that each `test_file` contains a single module with a name ending with `_test`,
and that the name of the file is the same as the module name, with `.f90` appended.
This module is expected to contain at least 1 public function with names starting with `test_`.
Thus the most common usage is a command like:
```
cart test/main.f90 test/*_test.f90
```
If you have code that needs to be executed before and/or after the entire test suite,
then place it in subroutines that take no arguments,
and provide the names of the procedures and modules they are in as the optional arguments.
[veggies]: https://gitlab.com/everythingfunctional/veggies
[garden]: https://gitlab.com/everythingfunctional/garden
[fpm]: https://github.com/fortran-lang/fpm