-
Notifications
You must be signed in to change notification settings - Fork 7
Fortran unit test framework FRUIT. Mirror of sourceforge project, v3.4.3
License
mortele/FRUIT
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# Cloned from sourceforge using technique from # # https://gist.github.com/binarytemple/a707114df7067c1c81ab , # # with help from # # https://stackoverflow.com/a/49565707 # # # The link to the old Sourceforge example guide is broken, an archived # version can be found here: # # https://web.archive.org/web/20140509103954/https://sourceforge.net/apps/mediawiki/fortranxunit/index.php?title=FruitExample Installation guide: ------------------- 1. Untar the gz file 2. Put Ruby in your path. 3. Install rake gem gem install rake 4. Install fruit_processor gem cd fruit/fruit_processor_gem rake install 5. You may need to change your compiler from gfortran to other modify this line in rake_base.rb : $compiler = 'gfortran' $option = "-Wall -Wextra -pedantic -fbounds-check " + "-Wuninitialized -O -g -Wno-unused-parameter -cpp" By default, ifort is used if available. If ifort is abesnt, gfotran or FTN95 is used. 6. Build and run all the test cd fruit rake (By default a sample sample_single_dir is omitted, because some old compilers does not accept *.f95 extension. Try rake sample_single_dir to run it.) Samples: -------- in_3_minutes A sample of manually written driver. see https://web.archive.org/web/20140509103954/https://sourceforge.net/apps/mediawiki/fortranxunit/index.php?title=FruitExample * fruit.f90 must be copied to in_3_minutes beforehand. sample Multi-directry test. Tester codes are in fruit-x.x.x/sample/test directry. Before running the test, tested code (fruit-x.x.x/sample/src/calculator.f90) and fruit code (fruit-x.x.x/src/fruit.f90) must be compiled into lib*.a archives. * libfruit.a needed. To prepare it, run "rake compile" in fruit-x.x.x directry for libfruit.a. sample_single_dir Dependency between Fortran codes is estimated by "rake_estimate.rb" loaded from sample_single_dir/rakefile. see fruit-x.x.x/sample_single_dir/README. Tester code : sample_single_dir/mystack_test.f95 Tested code : sample_single_dir/mystack.f95, Z_constants.f95 sample_selective Testers to call is specifiled in a line in sample_selective/rakefile: fp.process_only = FileList["mydict_test.f90"] This sample also shows that test can be built even when main program (dummy_main.f90) exists. Dependency between Fortran codes is estimated by "rake_estimate.rb". Tester code: fruit-x.x.x/sample_selective/*_test.f90 Tested code: fruit-x.x.x/sample_selective/constant.f90, mydict.f90 sample_build_dir This sample shows build directry may differ from source directry. It also shows that test can be built even when main program (main.f90) exists. Tester code : fruit-x.x.x/sample_build_dir/atoz_test.f90 Tested code : fruit-x.x.x/sample_build_dir/atoz.f90 Build test in fruit-x.x.x/sample_build_dir/build_unittest sample_multi_dir Tester codes and tested codes are in different directries. Sample of building only selected testers are build in "build_selective" directry and that of all testers are built in "build" directry. Tester codes: fruit-x.x.x/sample_multi_dir/test/*.f90 Tested codes: fruit-x.x.x/sample_multi_dir/src/*.f90 Build is done in fruit-x.x.x/sample_multi_dir/build/ Selective build: fruit-x.x.x/sample_multi_dir/build_selective/ sample_openmp Tester code uses multiple threads using OpenMP. self_test Test of fruit.f90 itself. self_test_openmp Test of fruit.f90 itself. Tester code uses multiple threads using OpenMP.
About
Fortran unit test framework FRUIT. Mirror of sourceforge project, v3.4.3
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published