Skip to content
/ FRUIT Public
forked from mortele/FRUIT

Fortran unit test framework FRUIT. Mirror of sourceforge project, v3.4.3

License

Notifications You must be signed in to change notification settings

nvasilas/FRUIT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 56.8%
  • Ruby 42.9%
  • Makefile 0.3%