summaryrefslogtreecommitdiffstats
path: root/test/Fortran/F77FILESUFFIXES.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/F77FILESUFFIXES.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/F77FILESUFFIXES.py')
-rw-r--r--test/Fortran/F77FILESUFFIXES.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/test/Fortran/F77FILESUFFIXES.py b/test/Fortran/F77FILESUFFIXES.py
new file mode 100644
index 0000000..fedbb53
--- /dev/null
+++ b/test/Fortran/F77FILESUFFIXES.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+#
+# __COPYRIGHT__
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+import os
+import string
+import sys
+import TestSCons
+
+from common import write_fake_link
+
+_python_ = TestSCons._python_
+_exe = TestSCons._exe
+
+test = TestSCons.TestSCons()
+
+write_fake_link(test)
+
+test.write('myfortran.py', r"""
+import getopt
+import sys
+comment = '#' + sys.argv[1]
+opts, args = getopt.getopt(sys.argv[2:], 'co:')
+for opt, arg in opts:
+ if opt == '-o': out = arg
+infile = open(args[0], 'rb')
+outfile = open(out, 'wb')
+for l in infile.readlines():
+ if l[:len(comment)] != comment:
+ outfile.write(l)
+sys.exit(0)
+""")
+
+# Test default file suffix: .f77/.F77 for F77
+test.write('SConstruct', """
+env = Environment(LINK = r'%(_python_)s mylink.py',
+ LINKFLAGS = [],
+ F77 = r'%(_python_)s myfortran.py g77',
+ FORTRAN = r'%(_python_)s myfortran.py fortran')
+env.Program(target = 'test01', source = 'test01.f')
+env.Program(target = 'test02', source = 'test02.F')
+env.Program(target = 'test03', source = 'test03.for')
+env.Program(target = 'test04', source = 'test04.FOR')
+env.Program(target = 'test05', source = 'test05.ftn')
+env.Program(target = 'test06', source = 'test06.FTN')
+env.Program(target = 'test07', source = 'test07.fpp')
+env.Program(target = 'test08', source = 'test08.FPP')
+env.Program(target = 'test09', source = 'test09.f77')
+env.Program(target = 'test10', source = 'test10.F77')
+""" % locals())
+
+test.write('test01.f', "This is a .f file.\n#link\n#fortran\n")
+test.write('test02.F', "This is a .F file.\n#link\n#fortran\n")
+test.write('test03.for', "This is a .for file.\n#link\n#fortran\n")
+test.write('test04.FOR', "This is a .FOR file.\n#link\n#fortran\n")
+test.write('test05.ftn', "This is a .ftn file.\n#link\n#fortran\n")
+test.write('test06.FTN', "This is a .FTN file.\n#link\n#fortran\n")
+test.write('test07.fpp', "This is a .fpp file.\n#link\n#fortran\n")
+test.write('test08.FPP', "This is a .FPP file.\n#link\n#fortran\n")
+test.write('test09.f77', "This is a .f77 file.\n#link\n#g77\n")
+test.write('test10.F77', "This is a .F77 file.\n#link\n#g77\n")
+
+test.run(arguments = '.', stderr = None)
+
+test.must_match('test01' + _exe, "This is a .f file.\n")
+test.must_match('test02' + _exe, "This is a .F file.\n")
+test.must_match('test03' + _exe, "This is a .for file.\n")
+test.must_match('test04' + _exe, "This is a .FOR file.\n")
+test.must_match('test05' + _exe, "This is a .ftn file.\n")
+test.must_match('test06' + _exe, "This is a .FTN file.\n")
+test.must_match('test07' + _exe, "This is a .fpp file.\n")
+test.must_match('test08' + _exe, "This is a .FPP file.\n")
+test.must_match('test09' + _exe, "This is a .f77 file.\n")
+test.must_match('test10' + _exe, "This is a .F77 file.\n")
+
+test.pass_test()