summaryrefslogtreecommitdiff
path: root/src/test_interrupts.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2008-04-19 02:11:31 +0000
committerSteven Knight <knight@baldmt.com>2008-04-19 02:11:31 +0000
commit4cfc36d83282c18477cab0a5fbb1e01a5be13769 (patch)
tree6b0dbeb7be16e532a3ac980cd848458fd02dbe8b /src/test_interrupts.py
parent12ced93c8d443babcf3ba0c0a3503ed6a8fed2d9 (diff)
downloadscons-git-4cfc36d83282c18477cab0a5fbb1e01a5be13769.tar.gz
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 'src/test_interrupts.py')
-rw-r--r--src/test_interrupts.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/test_interrupts.py b/src/test_interrupts.py
index 9e91cc508..6fb82b466 100644
--- a/src/test_interrupts.py
+++ b/src/test_interrupts.py
@@ -62,6 +62,15 @@ else:
scons_lib_dir = os.path.join(cwd, 'build', 'scons')
MANIFEST = os.path.join(scons_lib_dir, 'MANIFEST')
+# We expect precisely this many uncaught KeyboardInterrupt exceptions
+# from the files in the following dictionary.
+
+expected_uncaught = {
+ 'engine/SCons/Job.py' : 5,
+ 'engine/SCons/Script/Main.py' : 1,
+ 'engine/SCons/Taskmaster.py' : 3,
+}
+
try:
fp = open(MANIFEST)
except IOError:
@@ -94,6 +103,7 @@ for f in files:
line_num = 1 + string.count(contents[:match.start()], '\n')
indent_list.append( (line_num, match.group('try_or_except') ) )
try_except_lines[match.group('indent')] = indent_list
+ uncaught_this_file = []
for indent in try_except_lines.keys():
exc_keyboardint_seen = 0
exc_all_seen = 0
@@ -103,8 +113,7 @@ for f in files:
m2 = exceptall_pat.match(statement)
if string.find(statement, indent + 'try') == 0:
if exc_all_seen and not exc_keyboardint_seen:
- uncaughtKeyboardInterrupt = 1
- print "File %s:%d: Uncaught KeyboardInterrupt!" % (f,line)
+ uncaught_this_file.append(line)
exc_keyboardint_seen = 0
exc_all_seen = 0
line = l
@@ -118,6 +127,13 @@ for f in files:
else:
pass
#print "Warning: unknown statement %s" % statement
+ expected_num = expected_uncaught.get(f, 0)
+ if expected_num != len(uncaught_this_file):
+ uncaughtKeyboardInterrupt = 1
+ msg = "%s: expected %d uncaught interrupts, got %d:"
+ print msg % (f, expected_num, len(uncaught_this_file))
+ for line in uncaught_this_file:
+ print " File %s:%d: Uncaught KeyboardInterrupt!" % (f,line)
test.fail_test(uncaughtKeyboardInterrupt)