fUnit 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/{LICENSE → COPYING} +21 -21
- data/README +26 -2
- data/Rakefile +97 -0
- data/docs/html/classes/Funit.html +390 -0
- data/docs/html/classes/Funit/Assertions.html +285 -0
- data/docs/html/classes/Funit/Compiler.html +160 -0
- data/docs/html/classes/Funit/Depend.html +441 -0
- data/docs/html/classes/Funit/TestSuite.html +417 -0
- data/docs/html/created.rid +1 -0
- data/docs/html/files/COPYING.html +563 -0
- data/docs/html/files/README.html +151 -0
- data/docs/html/files/lib/funit/assertions_rb.html +101 -0
- data/docs/html/files/lib/funit/fortran_deps_rb.html +107 -0
- data/docs/html/files/lib/funit/functions_rb.html +101 -0
- data/docs/html/files/lib/funit/test_suite_rb.html +101 -0
- data/docs/html/files/lib/funit_rb.html +111 -0
- data/docs/html/fr_class_index.html +31 -0
- data/docs/html/fr_file_index.html +33 -0
- data/docs/html/fr_method_index.html +59 -0
- data/docs/html/index.html +24 -0
- data/docs/html/rdoc-style.css +208 -0
- data/examples/CFD/FluxFunctions.f90 +35 -0
- data/examples/CFD/FluxFunctionsMT.f90 +336 -0
- data/examples/CFD/FluxFunctionsMT.ftk +49 -0
- data/examples/CFD/Gammas.f90 +8 -0
- data/examples/CFD/GasModel.f90 +17 -0
- data/examples/CFD/GasModelMT.f90 +173 -0
- data/examples/CFD/GasModelMT.ftk +22 -0
- data/examples/CFD/TestRunner +0 -0
- data/examples/CFD/TestRunner.f90 +23 -0
- data/examples/CFD/fluxfunctions.mod +45 -0
- data/examples/CFD/gammas.mod +20 -0
- data/examples/CFD/gasmodel.mod +30 -0
- data/examples/CFD/gasmodelmt.mod +27 -0
- data/examples/StopWatch/StopWatch.f90 +50 -0
- data/examples/StopWatch/StopWatchMT.f90 +343 -0
- data/examples/StopWatch/StopWatchMT.ftk +73 -0
- data/examples/StopWatch/TestRunner +0 -0
- data/examples/StopWatch/TestRunner.f90 +23 -0
- data/examples/StopWatch/stopwatch.mod +34 -0
- data/examples/StopWatch/stopwatchmt.mod +27 -0
- data/lib/funit.rb +1 -6
- data/lib/funit/fortran_deps.rb +112 -0
- data/lib/funit/functions.rb +2 -5
- data/tests/tc_fortran_deps.rb +2 -2
- metadata +73 -22
- data/INSTALL +0 -19
- data/lib/fortran_deps.rb +0 -109
@@ -0,0 +1,73 @@
|
|
1
|
+
integer, dimension(8) :: dateAndTime1, dateAndTime2
|
2
|
+
real :: seconds
|
3
|
+
|
4
|
+
beginSetup
|
5
|
+
NotInitialized = .TRUE.
|
6
|
+
last = 0
|
7
|
+
seconds = HUGE(0.0)
|
8
|
+
endSetup
|
9
|
+
|
10
|
+
beginTest SystemDateAndTimeWorks
|
11
|
+
call date_and_time(values=dateAndTime1)
|
12
|
+
IsTrue( dateAndTime1(1) /= -huge(0) )
|
13
|
+
IsTrue( size(dateAndTime1,1) == 8 )
|
14
|
+
endTest
|
15
|
+
|
16
|
+
! test secBetween
|
17
|
+
beginTest OneMSecDifference
|
18
|
+
dateAndTime1 = (/ 2000, 1, 1, 0, 0, 0, 0, 0 /)
|
19
|
+
dateAndTime2 = (/ 2000, 1, 1, 0, 0, 0, 0, 1 /)
|
20
|
+
seconds = SecBetween(dateAndTime1, dateAndTime2)
|
21
|
+
IsRealEqual(seconds, 0.001)
|
22
|
+
endTest
|
23
|
+
|
24
|
+
beginTest MinuteRollover
|
25
|
+
dateAndTime1 = (/ 2000, 1, 1, 0, 0, 0,59, 0 /)
|
26
|
+
dateAndTime2 = (/ 2000, 1, 1, 0, 0, 1, 0, 0 /)
|
27
|
+
seconds = SecBetween(dateAndTime1, dateAndTime2)
|
28
|
+
IsRealEqual(seconds, 1.0)
|
29
|
+
endTest
|
30
|
+
|
31
|
+
! test secSinceLast
|
32
|
+
beginTest InitializationState
|
33
|
+
IsTrue(notInitialized)
|
34
|
+
seconds = secSinceLast()
|
35
|
+
IsFalse(notInitialized)
|
36
|
+
seconds = secSinceLast()
|
37
|
+
IsFalse(notInitialized)
|
38
|
+
endTest
|
39
|
+
|
40
|
+
beginTest InitiallyReturnsZero
|
41
|
+
seconds = secSinceLast()
|
42
|
+
IsRealEqual(seconds, 0.0)
|
43
|
+
call timeDelay(seconds)
|
44
|
+
seconds = secSinceLast()
|
45
|
+
IsTrue( seconds /= 0.0 )
|
46
|
+
endTest
|
47
|
+
|
48
|
+
subroutine timeDelay (sum)
|
49
|
+
integer :: i
|
50
|
+
real :: sum
|
51
|
+
do i = 1, 1000000
|
52
|
+
sum = sum + i
|
53
|
+
enddo
|
54
|
+
end subroutine timeDelay
|
55
|
+
|
56
|
+
beginTest ComputesSeconds
|
57
|
+
seconds = secSinceLast()
|
58
|
+
call timeDelay (seconds)
|
59
|
+
seconds = secSinceLast()
|
60
|
+
IsTrue( seconds > 0.0 )
|
61
|
+
endTest
|
62
|
+
|
63
|
+
beginTest ComputesSecondsSpecial
|
64
|
+
real :: expectedSeconds
|
65
|
+
|
66
|
+
seconds = secSinceLast()
|
67
|
+
dateAndTime1 = last
|
68
|
+
call timeDelay (seconds)
|
69
|
+
seconds = secSinceLast()
|
70
|
+
dateAndTime2 = last
|
71
|
+
expectedSeconds = secBetween(dateAndTime1,dateAndTime2)
|
72
|
+
IsRealEqual(seconds, expectedSeconds)
|
73
|
+
endTest
|
Binary file
|
@@ -0,0 +1,23 @@
|
|
1
|
+
! TestRunner.f90 - runs Fortran mobility test suites
|
2
|
+
!
|
3
|
+
! [Dynamically generated by funit Ruby script Sun Apr 09 01:07:09 EDT 2006.]
|
4
|
+
|
5
|
+
program TestRunner
|
6
|
+
|
7
|
+
use StopWatchMT
|
8
|
+
|
9
|
+
implicit none
|
10
|
+
|
11
|
+
integer :: numTests, numAsserts, numAssertsTested, numFailures
|
12
|
+
|
13
|
+
print *, ""
|
14
|
+
print *, "StopWatch test suite:"
|
15
|
+
call MTStopWatch( numTests, &
|
16
|
+
numAsserts, numAssertsTested, numFailures )
|
17
|
+
print *, "Passed", numAssertsTested, "of", numAsserts, &
|
18
|
+
"possible asserts comprising", &
|
19
|
+
numTests-numFailures, "of", numTests, "tests."
|
20
|
+
|
21
|
+
print *, ""
|
22
|
+
|
23
|
+
end program TestRunner
|
@@ -0,0 +1,34 @@
|
|
1
|
+
G95 module created on Sun Apr 9 01:07:09 2006 from ./StopWatch.f90
|
2
|
+
If you edit this, you'll get what you deserve.
|
3
|
+
|
4
|
+
(() () () () () () () () () () () () () () () () () () () () ())
|
5
|
+
|
6
|
+
()
|
7
|
+
|
8
|
+
()
|
9
|
+
|
10
|
+
()
|
11
|
+
|
12
|
+
()
|
13
|
+
|
14
|
+
(2 'secbetween' 'stopwatch' 1 ((PROCEDURE UNKNOWN MODULE-PROC DECL
|
15
|
+
FUNCTION) (REAL 4 ()) 0 0 (3 NONE 4 NONE) () '' () ())
|
16
|
+
5 'secsincelast' 'stopwatch' 1 ((PROCEDURE UNKNOWN MODULE-PROC DECL
|
17
|
+
FUNCTION) (REAL 4 ()) 0 0 () () '' () ())
|
18
|
+
6 'stopwatch' 'stopwatch' 1 ((MODULE UNKNOWN UNKNOWN UNKNOWN) (UNKNOWN 0
|
19
|
+
()) 0 0 () () '' () ())
|
20
|
+
7 'notinitialized' 'stopwatch' 1 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN) (
|
21
|
+
LOGICAL 4 ()) 0 0 () () '' () ())
|
22
|
+
8 'last' 'stopwatch' 1 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN DIMENSION) (
|
23
|
+
INTEGER 4 ()) 0 0 () (1 EXPLICIT (CONSTANT (INTEGER 4 ()) 0 '1') (
|
24
|
+
CONSTANT (INTEGER 4 ()) 0 '8')) '' () ())
|
25
|
+
3 'begindnt' '' 9 ((VARIABLE IN UNKNOWN UNKNOWN DIMENSION DUMMY) (
|
26
|
+
INTEGER 4 ()) 0 0 () (1 EXPLICIT (CONSTANT (INTEGER 4 ()) 0 '1') (
|
27
|
+
CONSTANT (INTEGER 4 ()) 0 '8')) '' () ())
|
28
|
+
4 'enddnt' '' 9 ((VARIABLE IN UNKNOWN UNKNOWN DIMENSION DUMMY) (INTEGER
|
29
|
+
4 ()) 0 0 () (1 EXPLICIT (CONSTANT (INTEGER 4 ()) 0 '1') (CONSTANT (
|
30
|
+
INTEGER 4 ()) 0 '8')) '' () ())
|
31
|
+
)
|
32
|
+
|
33
|
+
('last' 0 8 'notinitialized' 0 7 'stopwatch' 0 6 'secsincelast' 0 5
|
34
|
+
'secbetween' 0 2)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
G95 module created on Sun Apr 9 01:07:09 2006 from ./StopWatchMT.f90
|
2
|
+
If you edit this, you'll get what you deserve.
|
3
|
+
|
4
|
+
(() () () () () () () () () () () () () () () () () () () () ())
|
5
|
+
|
6
|
+
()
|
7
|
+
|
8
|
+
()
|
9
|
+
|
10
|
+
()
|
11
|
+
|
12
|
+
()
|
13
|
+
|
14
|
+
(2 'mtstopwatch' 'stopwatchmt' 1 ((PROCEDURE UNKNOWN MODULE-PROC DECL
|
15
|
+
SUBROUTINE) (PROCEDURE 0 ()) 0 0 (3 NONE 4 NONE 5 NONE 6 NONE) () '' ()
|
16
|
+
())
|
17
|
+
3 'ntests' '' 7 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN DUMMY) (INTEGER 4 ())
|
18
|
+
0 0 () () '' () ())
|
19
|
+
4 'nasserts' '' 7 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN DUMMY) (INTEGER 4 ())
|
20
|
+
0 0 () () '' () ())
|
21
|
+
6 'nfailures' '' 7 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN DUMMY) (INTEGER 4
|
22
|
+
()) 0 0 () () '' () ())
|
23
|
+
5 'nassertstested' '' 7 ((VARIABLE UNKNOWN UNKNOWN UNKNOWN DUMMY) (
|
24
|
+
INTEGER 4 ()) 0 0 () () '' () ())
|
25
|
+
)
|
26
|
+
|
27
|
+
('mtstopwatch' 0 2)
|
data/lib/funit.rb
CHANGED
@@ -1,17 +1,14 @@
|
|
1
1
|
require 'funit/functions'
|
2
|
+
require 'funit/fortran_deps'
|
2
3
|
require 'funit/assertions'
|
3
4
|
require 'funit/test_suite'
|
4
5
|
|
5
6
|
module Funit
|
6
|
-
|
7
7
|
def runAllFtks
|
8
|
-
|
9
8
|
Compiler.new # a test for compiler env set (remove this later)
|
10
|
-
|
11
9
|
writeTestRunner(testSuites = parseCommandLine)
|
12
10
|
|
13
11
|
# convert each *MT.ftk file into a pure Fortran9x file:
|
14
|
-
|
15
12
|
testSuites.each do |testSuite|
|
16
13
|
testSuiteF90 = TestSuite.new(testSuite)
|
17
14
|
end
|
@@ -19,7 +16,5 @@ module Funit
|
|
19
16
|
compileTests testSuites
|
20
17
|
|
21
18
|
raise "Failed to execute TestRunner" unless system("./TestRunner")
|
22
|
-
|
23
19
|
end
|
24
|
-
|
25
20
|
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# This scripts finds dependencies for f90 code
|
2
|
+
|
3
|
+
raise "Need Ruby version >= 1.8, current using #{VERSION}" unless String.instance_methods.include? "match"
|
4
|
+
|
5
|
+
module Funit
|
6
|
+
|
7
|
+
class Depend
|
8
|
+
|
9
|
+
attr_reader :file_dependencies, :source_files
|
10
|
+
|
11
|
+
def initialize( searchPath = %w[ ../lib . ] )
|
12
|
+
@parsed = Array.new
|
13
|
+
@hash = build_hash_of_modules_in_files_within searchPath
|
14
|
+
@file_dependencies = Hash.new
|
15
|
+
@source_files = Array.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def modules_used_in( file )
|
19
|
+
modules = IO.readlines( file ).map do |line|
|
20
|
+
$1.downcase if line.match( /^\s*use\s+(\w+)/i )
|
21
|
+
end.uniq.compact
|
22
|
+
end
|
23
|
+
|
24
|
+
def modules_defined_in( file )
|
25
|
+
modules = IO.readlines( file ).map do |line|
|
26
|
+
$1.downcase if line.match( /^\s*module\s+(\w+)/i )
|
27
|
+
end.uniq.compact
|
28
|
+
end
|
29
|
+
|
30
|
+
def build_dictionary_of_modules_in( files )
|
31
|
+
file_containing_module = Hash.new
|
32
|
+
files.each do |file|
|
33
|
+
modules_defined_in( file ).each{ |mod| file_containing_module[mod]=file }
|
34
|
+
end
|
35
|
+
file_containing_module
|
36
|
+
end
|
37
|
+
|
38
|
+
def fortran_files_within( search_path = %w[ ../lib . ] )
|
39
|
+
source = search_path.map{ |path| Dir[path+"/*.[fF]90"] }
|
40
|
+
source.flatten!.uniq!
|
41
|
+
source.delete_if{ |file| File.lstat(file).symlink? }
|
42
|
+
source.delete_if{ |file| file.match(/lmpi_module_template.F90/) }
|
43
|
+
end
|
44
|
+
|
45
|
+
def build_hash_of_modules_in_files_within( searchPath = %w[../lib .] )
|
46
|
+
build_dictionary_of_modules_in( fortran_files_within( searchPath ) )
|
47
|
+
end
|
48
|
+
|
49
|
+
def makefile_dependency_line( source )
|
50
|
+
realSource = source.sub(/PHYSICS_DUMMY/,'PHYSICS_MODULES')# What's this?
|
51
|
+
sourceNoPath = File.basename source
|
52
|
+
@source_files.push sourceNoPath.gsub(%r|^.*/|,'')
|
53
|
+
output = ''
|
54
|
+
if (File.expand_path(source) != File.expand_path(sourceNoPath))
|
55
|
+
output += sourceNoPath+ ": " + realSource + "\n"
|
56
|
+
output += "\tln -sf "+realSource+" .\n"
|
57
|
+
end
|
58
|
+
output += source.gsub(/\.(f|F)90$/, ".o").gsub(%r|^.*/|,"" ) +
|
59
|
+
": " + source.gsub(%r|^.*/|,"" )
|
60
|
+
modules_used_in( source ).each do |use|
|
61
|
+
unless @hash[use]
|
62
|
+
unless ( use=~/f90_unix/ || use=~/nas_system/ )
|
63
|
+
$stderr.puts "Warning: unable to locate module #{use} used in #{source}." if $DEBUG
|
64
|
+
end
|
65
|
+
next
|
66
|
+
end
|
67
|
+
output = output + " \\\n " +
|
68
|
+
@hash[use].gsub(/\.(f|F)90$/, ".o").gsub(%r|^.*/|,"" )
|
69
|
+
end
|
70
|
+
output+"\n"
|
71
|
+
end
|
72
|
+
|
73
|
+
def dependencies( start )
|
74
|
+
modules = modules_used_in( start )
|
75
|
+
@parsed = @parsed || [start]
|
76
|
+
newSourceFiles = modules.collect{ |mod| @hash[mod] }.compact
|
77
|
+
makefile_dependency_line(start) +
|
78
|
+
newSourceFiles.collect do |file|
|
79
|
+
next if @parsed.include?(file)
|
80
|
+
@parsed.push file
|
81
|
+
dependencies file
|
82
|
+
end.to_s
|
83
|
+
end
|
84
|
+
|
85
|
+
def source_file_dependencies( head_f90 )
|
86
|
+
modules_head_uses = modules_used_in( head_f90 )
|
87
|
+
required_f90s = modules_head_uses.map{ |mod| @hash[mod] }.compact
|
88
|
+
@file_dependencies[head_f90] = required_f90s
|
89
|
+
required_f90s.each do |required_f90|
|
90
|
+
next if @parsed.include?(required_f90)
|
91
|
+
source_file_dependencies( required_f90 )
|
92
|
+
end
|
93
|
+
@parsed.push head_f90
|
94
|
+
end
|
95
|
+
|
96
|
+
def required_source_files( head_f90 )
|
97
|
+
@parsed.clear
|
98
|
+
source_file_dependencies( head_f90 )
|
99
|
+
sources = Array.new
|
100
|
+
while !@file_dependencies.empty? do
|
101
|
+
no_dependents_pair = @file_dependencies.detect{ |h,d| d == [] }
|
102
|
+
no_dependents = no_dependents_pair.first
|
103
|
+
sources.push no_dependents
|
104
|
+
@file_dependencies.delete(no_dependents){ |el| "#{el} not found" }
|
105
|
+
@file_dependencies.each_value{ |deps| deps.delete(no_dependents) }
|
106
|
+
end
|
107
|
+
sources
|
108
|
+
end
|
109
|
+
|
110
|
+
end # class
|
111
|
+
|
112
|
+
end # module
|
data/lib/funit/functions.rb
CHANGED
@@ -17,7 +17,7 @@ Fortran compiler environment variable 'F9X' not set:
|
|
17
17
|
raise(errorMessage) unless @name = name
|
18
18
|
end
|
19
19
|
|
20
|
-
end
|
20
|
+
end # class
|
21
21
|
|
22
22
|
def requestedModules(moduleNames)
|
23
23
|
if (moduleNames.empty?)
|
@@ -104,8 +104,6 @@ program TestRunner
|
|
104
104
|
end
|
105
105
|
|
106
106
|
def compileTests testSuites
|
107
|
-
require 'fortran_deps'
|
108
|
-
|
109
107
|
puts "computing dependencies"
|
110
108
|
dependencies = Depend.new(['.', '../LibF90', '../PHYSICS_DEPS'])
|
111
109
|
puts "locating associated source files and sorting for compilation"
|
@@ -114,11 +112,10 @@ program TestRunner
|
|
114
112
|
puts compile = "#{ENV['F9X']} #{ENV['F9X_LDFLAGS']} -o TestRunner \\\n #{requiredSources.join(" \\\n ")}"
|
115
113
|
|
116
114
|
raise "Compile failed." unless system(compile)
|
117
|
-
|
118
115
|
end
|
119
116
|
|
120
117
|
# set some regular expressions:
|
121
118
|
$keyword = /(begin|end)(Setup|Teardown|Test)|Is(RealEqual|Equal|False|True|EqualWithin)\(.*\)/i
|
122
119
|
$commentLine = /^\s*!/
|
123
120
|
|
124
|
-
end # module
|
121
|
+
end # module
|
data/tests/tc_fortran_deps.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
$:.unshift File.join( File.dirname(__FILE__), '..', 'lib' )
|
2
2
|
require 'test/unit'
|
3
|
-
require 'fortran_deps'
|
3
|
+
require 'funit/fortran_deps'
|
4
4
|
require 'fileutils'
|
5
5
|
|
6
6
|
class TestFortranDeps < Test::Unit::TestCase
|
@@ -30,7 +30,7 @@ class TestFortranDeps < Test::Unit::TestCase
|
|
30
30
|
File.open('externalUse.f90','w') do |f|
|
31
31
|
f.puts "program user\nuse cantFindModule\nend program"
|
32
32
|
end
|
33
|
-
@dep = Depend.new
|
33
|
+
@dep = Funit::Depend.new
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_finds_which_modules_a_source_file_uses
|
metadata
CHANGED
@@ -3,15 +3,18 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: fUnit
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2006-04-
|
6
|
+
version: 0.0.2
|
7
|
+
date: 2006-04-09 00:00:00 -04:00
|
8
8
|
summary: A Fortran Unit Testing Framework
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: funit-support@rubyforge.org
|
12
12
|
homepage: http://funit.rubyforge.org/
|
13
13
|
rubyforge_project: funit
|
14
|
-
description:
|
14
|
+
description: "FUnit is a unit testing framework for Fortran modules. Unit tests are written in
|
15
|
+
Fortran fragments that use a small set of testing-specific extensions. FUnit
|
16
|
+
transforms these fragments into valid Fortran code and compiles, links, and runs
|
17
|
+
them against the module under test."
|
15
18
|
autorequire: funit
|
16
19
|
default_executable:
|
17
20
|
bindir: bin
|
@@ -29,23 +32,37 @@ cert_chain:
|
|
29
32
|
authors:
|
30
33
|
- fUnit Team
|
31
34
|
files:
|
35
|
+
- COPYING
|
36
|
+
- Rakefile
|
37
|
+
- README
|
32
38
|
- bin/funit
|
33
|
-
- tests/tc_compile.rb
|
34
|
-
- tests/tc_fortran_deps.rb
|
35
|
-
- tests/tc_funit.rb
|
36
|
-
- tests/tc_test_suite.rb
|
37
|
-
- tests/ts_funit.rb
|
38
|
-
- lib/clean
|
39
|
-
- lib/fortran_deps.rb
|
40
|
-
- lib/funit
|
41
|
-
- lib/funit.rb
|
42
|
-
- lib/mklinks
|
43
|
-
- lib/funit/assertions.rb
|
44
|
-
- lib/funit/functions.rb
|
45
|
-
- lib/funit/test_suite.rb
|
46
39
|
- docs/HISTORY
|
40
|
+
- docs/html
|
47
41
|
- docs/spiel
|
48
42
|
- docs/why
|
43
|
+
- docs/html/classes
|
44
|
+
- docs/html/created.rid
|
45
|
+
- docs/html/files
|
46
|
+
- docs/html/fr_class_index.html
|
47
|
+
- docs/html/fr_file_index.html
|
48
|
+
- docs/html/fr_method_index.html
|
49
|
+
- docs/html/index.html
|
50
|
+
- docs/html/rdoc-style.css
|
51
|
+
- docs/html/classes/Funit
|
52
|
+
- docs/html/classes/Funit.html
|
53
|
+
- docs/html/classes/Funit/Assertions.html
|
54
|
+
- docs/html/classes/Funit/Compiler.html
|
55
|
+
- docs/html/classes/Funit/Depend.html
|
56
|
+
- docs/html/classes/Funit/TestSuite.html
|
57
|
+
- docs/html/files/COPYING.html
|
58
|
+
- docs/html/files/lib
|
59
|
+
- docs/html/files/README.html
|
60
|
+
- docs/html/files/lib/funit
|
61
|
+
- docs/html/files/lib/funit_rb.html
|
62
|
+
- docs/html/files/lib/funit/assertions_rb.html
|
63
|
+
- docs/html/files/lib/funit/fortran_deps_rb.html
|
64
|
+
- docs/html/files/lib/funit/functions_rb.html
|
65
|
+
- docs/html/files/lib/funit/test_suite_rb.html
|
49
66
|
- docs/spiel/slides.tex
|
50
67
|
- docs/why/F90testRun
|
51
68
|
- docs/why/F90testRun.ps
|
@@ -68,16 +85,50 @@ files:
|
|
68
85
|
- docs/why/portrait
|
69
86
|
- docs/why/TestRunner.f90
|
70
87
|
- docs/why/TestRunner.f90.ps
|
71
|
-
-
|
72
|
-
-
|
73
|
-
-
|
88
|
+
- examples/CFD
|
89
|
+
- examples/StopWatch
|
90
|
+
- examples/CFD/FluxFunctions.f90
|
91
|
+
- examples/CFD/fluxfunctions.mod
|
92
|
+
- examples/CFD/FluxFunctionsMT.f90
|
93
|
+
- examples/CFD/FluxFunctionsMT.ftk
|
94
|
+
- examples/CFD/Gammas.f90
|
95
|
+
- examples/CFD/gammas.mod
|
96
|
+
- examples/CFD/GasModel.f90
|
97
|
+
- examples/CFD/gasmodel.mod
|
98
|
+
- examples/CFD/GasModelMT.f90
|
99
|
+
- examples/CFD/GasModelMT.ftk
|
100
|
+
- examples/CFD/gasmodelmt.mod
|
101
|
+
- examples/CFD/TestRunner
|
102
|
+
- examples/CFD/TestRunner.f90
|
103
|
+
- examples/StopWatch/StopWatch.f90
|
104
|
+
- examples/StopWatch/stopwatch.mod
|
105
|
+
- examples/StopWatch/StopWatchMT.f90
|
106
|
+
- examples/StopWatch/StopWatchMT.ftk
|
107
|
+
- examples/StopWatch/stopwatchmt.mod
|
108
|
+
- examples/StopWatch/TestRunner
|
109
|
+
- examples/StopWatch/TestRunner.f90
|
110
|
+
- lib/clean
|
111
|
+
- lib/funit
|
112
|
+
- lib/funit.rb
|
113
|
+
- lib/mklinks
|
114
|
+
- lib/funit/assertions.rb
|
115
|
+
- lib/funit/fortran_deps.rb
|
116
|
+
- lib/funit/functions.rb
|
117
|
+
- lib/funit/test_suite.rb
|
118
|
+
- tests/tc_compile.rb
|
119
|
+
- tests/tc_fortran_deps.rb
|
120
|
+
- tests/tc_funit.rb
|
121
|
+
- tests/tc_test_suite.rb
|
122
|
+
- tests/ts_funit.rb
|
74
123
|
test_files:
|
75
124
|
- tests/ts_funit.rb
|
76
|
-
rdoc_options:
|
125
|
+
rdoc_options:
|
126
|
+
- "--inline-source"
|
127
|
+
- "--main"
|
128
|
+
- README
|
77
129
|
extra_rdoc_files:
|
78
130
|
- README
|
79
|
-
-
|
80
|
-
- INSTALL
|
131
|
+
- COPYING
|
81
132
|
executables:
|
82
133
|
- funit
|
83
134
|
extensions: []
|