summaryrefslogtreecommitdiffstats
path: root/test/Fortran/FORTRANPATH.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2008-04-19 02:11:31 (GMT)
committerSteven Knight <knight@baldmt.com>2008-04-19 02:11:31 (GMT)
commit4cfc36d83282c18477cab0a5fbb1e01a5be13769 (patch)
tree6b0dbeb7be16e532a3ac980cd848458fd02dbe8b /test/Fortran/FORTRANPATH.py
parent12ced93c8d443babcf3ba0c0a3503ed6a8fed2d9 (diff)
downloadSCons-4cfc36d83282c18477cab0a5fbb1e01a5be13769.zip
SCons-4cfc36d83282c18477cab0a5fbb1e01a5be13769.tar.gz
SCons-4cfc36d83282c18477cab0a5fbb1e01a5be13769.tar.bz2
Merged revisions 2867-2879 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core ................ r2875 | stevenknight | 2008-04-17 21:33:00 -0700 (Thu, 17 Apr 2008) | 4 lines Fix the script that looks for uncaught KeyboardInterrupt exceptions to expect specific numbers of these from the modules that were recently modified to handle KeyboardInterrupt exceptions differently. ................ r2877 | stevenknight | 2008-04-18 17:31:14 -0700 (Fri, 18 Apr 2008) | 3 lines Fix how the packaging tests look for the build packages (I hope, we'll know once it gets through buildbot). ................ r2879 | stevenknight | 2008-04-18 18:43:56 -0700 (Fri, 18 Apr 2008) | 352 lines Merged revisions 2777,2779-2873,2875 via svnmerge from http://scons.tigris.org/svn/scons/branches/fortran_refactor ........ r2779 | cournape | 2008-04-14 20:52:08 -0700 (Mon, 14 Apr 2008) | 1 line Fix tool detection in unit tests for F77 dialect. ........ r2780 | cournape | 2008-04-14 21:02:25 -0700 (Mon, 14 Apr 2008) | 1 line Fix tool detection in unit tests for FORTRAN dialect. ........ r2781 | cournape | 2008-04-14 21:18:40 -0700 (Mon, 14 Apr 2008) | 1 line Fix tool detection in unit tests for F90 dialect. ........ r2782 | cournape | 2008-04-14 21:32:49 -0700 (Mon, 14 Apr 2008) | 1 line Fix tool detection in unit tests for F95 dialect. ........ r2783 | cournape | 2008-04-14 21:34:31 -0700 (Mon, 14 Apr 2008) | 1 line Fix *F77FLAGS tool detection. ........ r2784 | cournape | 2008-04-14 21:35:15 -0700 (Mon, 14 Apr 2008) | 1 line Do not harcode F77 compiler for unit test. ........ r2785 | cournape | 2008-04-14 21:35:48 -0700 (Mon, 14 Apr 2008) | 1 line Do not harcode FORTRAN compiler for unit test. ........ r2786 | cournape | 2008-04-14 21:39:33 -0700 (Mon, 14 Apr 2008) | 1 line Fix tool detection for *FORTRANFLAGS unit test. ........ r2787 | cournape | 2008-04-14 21:40:17 -0700 (Mon, 14 Apr 2008) | 1 line Fix escaping of fc in F95 unit test. ........ r2791 | cournape | 2008-04-14 22:34:52 -0700 (Mon, 14 Apr 2008) | 1 line Refactor emitter for all fortran dialects, such as the same function is used everywhere. ........ r2792 | cournape | 2008-04-14 22:37:20 -0700 (Mon, 14 Apr 2008) | 1 line Add new FortranCommon python module in Tools to MANIFEST.in. ........ r2793 | cournape | 2008-04-14 22:44:28 -0700 (Mon, 14 Apr 2008) | 1 line Add a function to create all function list generator in a dialect independant way. ........ r2794 | cournape | 2008-04-14 22:47:45 -0700 (Mon, 14 Apr 2008) | 1 line Use dialect independant vlg creation in all fortran dialect tools. ........ r2795 | cournape | 2008-04-14 22:49:50 -0700 (Mon, 14 Apr 2008) | 1 line Add a dialect independant function to create actions vlg. ........ r2796 | cournape | 2008-04-14 22:50:21 -0700 (Mon, 14 Apr 2008) | 1 line Use dialect independant action vlg creator in FORTRAN dialect. ........ r2797 | cournape | 2008-04-14 22:51:44 -0700 (Mon, 14 Apr 2008) | 1 line Use dialect independant action vlg creator in F77 dialect. ........ r2798 | cournape | 2008-04-14 22:52:00 -0700 (Mon, 14 Apr 2008) | 1 line Use dialect independant action vlg creator in F90 dialect. ........ r2799 | cournape | 2008-04-14 22:52:20 -0700 (Mon, 14 Apr 2008) | 1 line Use dialect independant action vlg creator in F95 dialect. ........ r2800 | cournape | 2008-04-14 22:54:18 -0700 (Mon, 14 Apr 2008) | 1 line Add function to create all construction variables for every dialect. ........ r2801 | cournape | 2008-04-14 22:56:05 -0700 (Mon, 14 Apr 2008) | 1 line f77 tool now uses common implementation for add_to_env. ........ r2802 | cournape | 2008-04-14 22:57:30 -0700 (Mon, 14 Apr 2008) | 1 line f90 tool now uses common implementation for add_to_env. ........ r2803 | cournape | 2008-04-14 22:58:13 -0700 (Mon, 14 Apr 2008) | 1 line f95 tool now uses common implementation for add_to_env. ........ r2804 | cournape | 2008-04-14 23:00:35 -0700 (Mon, 14 Apr 2008) | 1 line fortran tool now uses common implementation for add_to_env. ........ r2805 | cournape | 2008-04-14 23:10:41 -0700 (Mon, 14 Apr 2008) | 1 line Handle fortran sources in smart_link in a way similar to C++; we launch an exception if both C++ and fortran sources are used, because this cannot be handled easily in this scheme. ........ r2806 | cournape | 2008-04-14 23:17:54 -0700 (Mon, 14 Apr 2008) | 1 line Use f95 specific suffix for F95 compiled unit tests (.f95 instead of .f), plus minor typo to make all F95* tests pass. ........ r2807 | cournape | 2008-04-15 00:47:59 -0700 (Tue, 15 Apr 2008) | 1 line Refactor mylink.py generation in fortran tests. ........ r2808 | cournape | 2008-04-15 00:51:11 -0700 (Tue, 15 Apr 2008) | 1 line Forgot to add new common.py for code shared by all fortran tests. ........ r2809 | cournape | 2008-04-15 02:08:44 -0700 (Tue, 15 Apr 2008) | 1 line Add a F77FILESUFFIXES and F77PPFILESUFFIXES construction variable to control F77 dialect file extension. ........ r2810 | cournape | 2008-04-15 02:22:26 -0700 (Tue, 15 Apr 2008) | 1 line Add a FORTRANFILESUFFIXES and FORTRANPPFILESUFFIXES construction variable to control FORTRAN dialect file extension. ........ r2811 | cournape | 2008-04-15 02:38:11 -0700 (Tue, 15 Apr 2008) | 1 line Add a F90FILESUFFIXES and F90PPFILESUFFIXES construction variable to control F90 dialect file extension. ........ r2812 | cournape | 2008-04-15 02:46:31 -0700 (Tue, 15 Apr 2008) | 1 line Add a F95FILESUFFIXES and F95PPFILESUFFIXES construction variable to control F95 dialect file extension. ........ r2813 | cournape | 2008-04-15 04:23:25 -0700 (Tue, 15 Apr 2008) | 1 line Add tool list initialization for unit test. ........ r2814 | cournape | 2008-04-15 05:16:28 -0700 (Tue, 15 Apr 2008) | 1 line Remove use of variable list generator in fortran support. FORTRAN is the default dialect, and its cvar are created by every dialect tool. ........ r2815 | cournape | 2008-04-15 05:18:00 -0700 (Tue, 15 Apr 2008) | 1 line Fix FORTRAN* and SHFORTRAN* tests. ........ r2816 | cournape | 2008-04-15 05:38:46 -0700 (Tue, 15 Apr 2008) | 1 line Forgot to generate F95* cvar in f95 tool. ........ r2819 | cournape | 2008-04-15 15:14:58 -0700 (Tue, 15 Apr 2008) | 1 line Put cvar construction add_to_env func in FortranCommon for all dialect; all dialect cvar are always created for all tools. ........ r2820 | cournape | 2008-04-15 15:34:32 -0700 (Tue, 15 Apr 2008) | 1 line Fix unit tests for F77* and SHF77* cvar. ........ r2821 | cournape | 2008-04-15 15:38:26 -0700 (Tue, 15 Apr 2008) | 1 line Fix unit tests for F90* and SHF90* cvar. ........ r2822 | cournape | 2008-04-15 15:43:47 -0700 (Tue, 15 Apr 2008) | 1 line Fix unit tests for F95* and SHF95* cvar. ........ r2823 | cournape | 2008-04-15 15:50:41 -0700 (Tue, 15 Apr 2008) | 1 line Fix compiler name setting in dialect fortran tools. ........ r2824 | cournape | 2008-04-15 15:56:57 -0700 (Tue, 15 Apr 2008) | 1 line Fix -fPIC for g77 tool. ........ r2825 | cournape | 2008-04-15 16:07:03 -0700 (Tue, 15 Apr 2008) | 1 line Set compiler name in g77 tool for supported dialects. ........ r2826 | cournape | 2008-04-15 18:10:18 -0700 (Tue, 15 Apr 2008) | 1 line Fix F77PATH unit test. ........ r2827 | cournape | 2008-04-15 18:11:58 -0700 (Tue, 15 Apr 2008) | 1 line Fix typo in f90.py tool. ........ r2828 | cournape | 2008-04-15 18:16:22 -0700 (Tue, 15 Apr 2008) | 1 line Adapt gfortran tool to new fortran support. ........ r2829 | cournape | 2008-04-15 18:22:44 -0700 (Tue, 15 Apr 2008) | 1 line Adapt ifort tool to new fortran support. ........ r2830 | cournape | 2008-04-15 18:28:50 -0700 (Tue, 15 Apr 2008) | 1 line Update cvar set by gfortran tool in xml doc. ........ r2831 | cournape | 2008-04-15 18:31:43 -0700 (Tue, 15 Apr 2008) | 1 line Update ifort tool, and add cvar doc in xml doc. ........ r2832 | cournape | 2008-04-15 18:40:51 -0700 (Tue, 15 Apr 2008) | 1 line Change fortran tool search order on gnu platforms: first search gfortran, then g77, etc... ........ r2833 | cournape | 2008-04-15 18:42:04 -0700 (Tue, 15 Apr 2008) | 1 line Add Sun f77 tool sunf77. ........ r2834 | cournape | 2008-04-15 18:43:40 -0700 (Tue, 15 Apr 2008) | 1 line Fix typo in sunf77 doc. ........ r2835 | cournape | 2008-04-15 18:46:38 -0700 (Tue, 15 Apr 2008) | 1 line Add Sun f90 tool sunf90. ........ r2836 | cournape | 2008-04-15 18:47:39 -0700 (Tue, 15 Apr 2008) | 1 line Add Sun f95 tool sunf95. ........ r2837 | cournape | 2008-04-15 18:50:04 -0700 (Tue, 15 Apr 2008) | 1 line Change tool order for fortran compilers on sun OS: use sun specific compilers first, and add gfortran to the list. ........ r2838 | cournape | 2008-04-15 18:50:48 -0700 (Tue, 15 Apr 2008) | 1 line Change tool order on win32 for fortran compilers: use gfortran before g77. ........ r2839 | cournape | 2008-04-15 18:51:23 -0700 (Tue, 15 Apr 2008) | 1 line Use gfortran first if available on mac os X. ........ r2840 | cournape | 2008-04-15 18:52:09 -0700 (Tue, 15 Apr 2008) | 1 line Add sun fortran compilers to the tool list in the manpage. ........ r2841 | cournape | 2008-04-15 18:58:55 -0700 (Tue, 15 Apr 2008) | 1 line Add new sun fortran compilers tools to the MANIFEST.in ........ r2842 | cournape | 2008-04-15 19:07:18 -0700 (Tue, 15 Apr 2008) | 1 line Fix typo for sun fortran compiler pic flags. ........ r2843 | cournape | 2008-04-15 20:07:32 -0700 (Tue, 15 Apr 2008) | 1 line Fix order issue in one f90 unit test. ........ r2844 | cournape | 2008-04-15 20:16:21 -0700 (Tue, 15 Apr 2008) | 1 line Fix order issues in one f95 unit test. ........ r2845 | cournape | 2008-04-15 23:47:07 -0700 (Tue, 15 Apr 2008) | 1 line Add fortran specific prefix/suffix include flags: this is useful when e.g. mixing VS and mingw fortran compiler. ........ r2846 | cournape | 2008-04-16 00:27:38 -0700 (Wed, 16 Apr 2008) | 1 line Set stderr=None on solaris for fortran unit tests because f77 always put junk on stderr. ........ r2847 | cournape | 2008-04-16 00:47:04 -0700 (Wed, 16 Apr 2008) | 1 line Do not use fortran_lib anymore in FORTRANPATH unit test. ........ r2848 | cournape | 2008-04-16 01:16:23 -0700 (Wed, 16 Apr 2008) | 1 line Set stderr to None on solaris for FORTRANPATH test. ........ r2849 | cournape | 2008-04-16 03:50:35 -0700 (Wed, 16 Apr 2008) | 1 line Fix sun fortran compilers detection. ........ r2852 | cournape | 2008-04-16 16:57:44 -0700 (Wed, 16 Apr 2008) | 1 line Add a shobj_ variable for shared object preffix (needed for tests on solaris). ........ r2853 | cournape | 2008-04-16 17:15:52 -0700 (Wed, 16 Apr 2008) | 1 line Fix some typo for shobj_ in qmtest. ........ r2854 | cournape | 2008-04-16 17:17:43 -0700 (Wed, 16 Apr 2008) | 1 line Handle shared object prefix in SHFORTRAN test + KPIC flag for solaris. ........ r2855 | cournape | 2008-04-16 17:28:59 -0700 (Wed, 16 Apr 2008) | 1 line Add shobj_prefix for all platforms. ........ r2856 | cournape | 2008-04-16 17:33:15 -0700 (Wed, 16 Apr 2008) | 1 line Fix shared object fortran unit test for solaris. ........ r2857 | cournape | 2008-04-16 17:37:14 -0700 (Wed, 16 Apr 2008) | 1 line Fix shared object prefix to make fortran unit test pass on solaris. ........ r2858 | cournape | 2008-04-16 17:38:28 -0700 (Wed, 16 Apr 2008) | 1 line Use TestSCons facility to get shared object suffix. ........ r2859 | cournape | 2008-04-16 17:42:50 -0700 (Wed, 16 Apr 2008) | 1 line Handl shared object prefix in fortran unit test for solaris. ........ r2860 | cournape | 2008-04-16 17:54:27 -0700 (Wed, 16 Apr 2008) | 1 line Handle shared object prefix in some fortran unit test. ........ r2861 | cournape | 2008-04-16 17:55:58 -0700 (Wed, 16 Apr 2008) | 1 line Fix typo: put shared object prefix at wrong place. ........ r2862 | cournape | 2008-04-16 18:00:42 -0700 (Wed, 16 Apr 2008) | 1 line More fix for fortran unit tests on solaris: handle -KPIC flag in wrappers. ........ r2863 | cournape | 2008-04-16 18:03:00 -0700 (Wed, 16 Apr 2008) | 1 line Fix SHF77FLAGS test on solaris. ........ r2864 | cournape | 2008-04-16 18:07:39 -0700 (Wed, 16 Apr 2008) | 1 line More fix for f90 unit test on solaris. ........ r2865 | cournape | 2008-04-16 18:08:58 -0700 (Wed, 16 Apr 2008) | 1 line Fix f95 unit test on solaris. ........ r2867 | cournape | 2008-04-16 18:38:17 -0700 (Wed, 16 Apr 2008) | 1 line More fortran unit test fixes for solaris. ........ r2869 | cournape | 2008-04-17 06:42:25 -0700 (Thu, 17 Apr 2008) | 1 line Fix SHFORTRAN definition issues for g77, gfortran, ifort and ifl. ........ r2870 | cournape | 2008-04-17 06:43:24 -0700 (Thu, 17 Apr 2008) | 1 line Fix SHFORTRAN definition issues for sun fortran compilers. ........ r2871 | stevenknight | 2008-04-17 18:16:55 -0700 (Thu, 17 Apr 2008) | 3 lines Test SH{F77,FORTRAN}FLAGS.py by appending the custom test flags, not overwriting the -fPIC value that the tools now initialize. ........ r2872 | stevenknight | 2008-04-17 18:22:24 -0700 (Thu, 17 Apr 2008) | 4 lines Fix the SH{F90,F95}FLAGS.py test scripts as well by appending our custom values to the SH*FLAGS values, so we don't overwrite the -fPIC value necessary for building on 64-bit Linux systems. ........ r2873 | stevenknight | 2008-04-17 19:08:43 -0700 (Thu, 17 Apr 2008) | 2 lines Remove left-over fortran.* lines. ........ ................
Diffstat (limited to 'test/Fortran/FORTRANPATH.py')
-rw-r--r--test/Fortran/FORTRANPATH.py67
1 files changed, 44 insertions, 23 deletions
diff --git a/test/Fortran/FORTRANPATH.py b/test/Fortran/FORTRANPATH.py
index 5f9d022..d5f2cb1 100644
--- a/test/Fortran/FORTRANPATH.py
+++ b/test/Fortran/FORTRANPATH.py
@@ -29,7 +29,6 @@ import sys
import TestSCons
_exe = TestSCons._exe
-FTN_LIB = TestSCons.fortran_lib
prog = 'prog' + _exe
subdir_prog = os.path.join('subdir', 'prog' + _exe)
variant_prog = os.path.join('variant', 'prog' + _exe)
@@ -38,8 +37,9 @@ args = prog + ' ' + subdir_prog + ' ' + variant_prog
test = TestSCons.TestSCons()
-if not test.detect('_FORTRANG', 'g77'):
- test.skip_test('Could not find a $F77 tool; skipping test.\n')
+fc = 'f77'
+if not test.detect_tool(fc):
+ test.skip_test('Could not find a f77 tool; skipping test.\n')
test.subdir('include',
'subdir',
@@ -50,18 +50,19 @@ test.subdir('include',
test.write('SConstruct', """
-env = Environment(FORTRANPATH = ['$FOO', '${TARGET.dir}', '${SOURCE.dir}'],
- LIBS = %s, FOO='include')
+env = Environment(FORTRAN = '%s',
+ FORTRANPATH = ['$FOO', '${TARGET.dir}', '${SOURCE.dir}'],
+ FOO='include')
obj = env.Object(target='foobar/prog', source='subdir/prog.f')
env.Program(target='prog', source=obj)
SConscript('subdir/SConscript', "env")
VariantDir('variant', 'subdir', 0)
include = Dir('include')
-env = Environment(FORTRANPATH=[include, '#foobar', '#subdir'],
- LIBS = %s)
+env = Environment(FORTRAN = '%s',
+ FORTRANPATH=[include, '#foobar', '#subdir'])
SConscript('variant/SConscript', "env")
-""" % (FTN_LIB, FTN_LIB))
+""" % (fc, fc))
test.write(['subdir', 'SConscript'],
"""
@@ -113,8 +114,12 @@ r"""
""")
-
-test.run(arguments = args)
+import sys
+if sys.platform[:5] == 'sunos':
+ # Sun f77 always put some junk in stderr
+ test.run(arguments = args, stderr = None)
+else:
+ test.run(arguments = args)
test.run(program = test.workpath(prog),
stdout = """\
@@ -156,7 +161,11 @@ r"""
INCLUDE 'bar.f'
""")
-test.run(arguments = args)
+if sys.platform[:5] == 'sunos':
+ # Sun f77 always put some junk in stderr
+ test.run(arguments = args, stderr = None)
+else:
+ test.run(arguments = args)
test.run(program = test.workpath(prog),
stdout = """\
@@ -198,7 +207,12 @@ r"""
PRINT *, 'include/bar.f 2'
""")
-test.run(arguments = args)
+if sys.platform[:5] == 'sunos':
+ # Sun f77 always put some junk in stderr
+ test.run(arguments = args, stderr = None)
+else:
+ test.run(arguments = args)
+
test.run(program = test.workpath(prog),
stdout = """\
@@ -236,18 +250,18 @@ test.up_to_date(arguments = args)
# Change FORTRANPATH and make sure we don't rebuild because of it.
test.write('SConstruct', """
-env = Environment(FORTRANPATH = Split('inc2 include ${TARGET.dir} ${SOURCE.dir}'),
- LIBS = %s)
+env = Environment(FORTRAN = '%s',
+ FORTRANPATH = Split('inc2 include ${TARGET.dir} ${SOURCE.dir}'))
obj = env.Object(target='foobar/prog', source='subdir/prog.f')
env.Program(target='prog', source=obj)
SConscript('subdir/SConscript', "env")
VariantDir('variant', 'subdir', 0)
include = Dir('include')
-env = Environment(FORTRANPATH=['inc2', include, '#foobar', '#subdir'],
- LIBS = %s)
+env = Environment(FORTRAN = '%s',
+ FORTRANPATH=['inc2', include, '#foobar', '#subdir'])
SConscript('variant/SConscript', "env")
-""" % (FTN_LIB, FTN_LIB))
+""" % (fc, fc))
test.up_to_date(arguments = args)
@@ -260,7 +274,12 @@ r"""
INCLUDE 'bar.f'
""")
-test.run(arguments = args)
+if sys.platform[:5] == 'sunos':
+ # Sun f77 always put some junk in stderr
+ test.run(arguments = args, stderr = None)
+else:
+ test.run(arguments = args)
+
test.run(program = test.workpath(prog),
stdout = """\
@@ -295,14 +314,16 @@ test.up_to_date(arguments = args)
# Check that a null-string FORTRANPATH doesn't blow up.
test.write('SConstruct', """
-env = Environment(FORTRANPATH = '', LIBS = %s)
+env = Environment(FORTRANPATH = '')
env.Object('foo', source = 'empty.f')
-""" % FTN_LIB)
+""")
test.write('empty.f', '')
-test.run(arguments = '.')
-
-
+if sys.platform[:5] == 'sunos':
+ # Sun f77 always put some junk in stderr
+ test.run(arguments = '.', stderr = None)
+else:
+ test.run(arguments = '.')
test.pass_test()