annotate msysio.py @ 3172:d1b367fc08bc tests-returncode

Use a return code of 1 when the tests fail.
author Thomas Kluyver <takowl@gmail.com>
date Wed, 09 Jan 2013 10:13:57 +0000
parents 32f4900761d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
916
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
1 # module msysio.py
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
2 # Requires Python 2.2 or better.
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
3
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
4 """Provide helpful routines for interactive IO on the MSYS console"""
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
5
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
6 # Output needs to be flushed to be seen. It is especially important
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
7 # when prompting for user input.
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
8
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
9 import sys
1616
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
10 import os
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
11
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
12 __all__ = ['raw_input_', 'print_', 'is_msys']
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
13
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
14 # 2.x/3.x compatibility stuff
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
15 try:
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
16 raw_input
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
17 except NameError:
1553
ebd545641c8b merging with python3 branch r 2048
Lenard Lindstrom <len-l@telus.net>
parents: 916
diff changeset
18 raw_input = input
1616
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
19
1553
ebd545641c8b merging with python3 branch r 2048
Lenard Lindstrom <len-l@telus.net>
parents: 916
diff changeset
20 # Exported functions
1616
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
21 __all__ = ['raw_input_', 'print_', 'is_msys']
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
22
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
23 # 2.x/3.x compatibility stuff
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
24 try:
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
25 raw_input
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
26 except NameError:
1581
9f910eda60c5 Starting to merge in sybian_s60 branch... still going... you like break? Well then try and build this!
Rene Dudfield <renesd@gmail.com>
parents: 1553
diff changeset
27 raw_input = input
1616
50193a70c186 add my changes to WHATSNEW
Lenard Lindstrom <len-l@telus.net>
parents: 1581
diff changeset
28
1581
9f910eda60c5 Starting to merge in sybian_s60 branch... still going... you like break? Well then try and build this!
Rene Dudfield <renesd@gmail.com>
parents: 1553
diff changeset
29 # Exported functions
916
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
30 def raw_input_(prompt=None):
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
31 """Prompt for user input in an MSYS console friendly way"""
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
32 if prompt is None:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
33 prompt = ''
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
34 print_(prompt, end='')
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
35 return raw_input()
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
36
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
37 def print_(*args, **kwds):
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
38 """Print arguments in an MSYS console friendly way
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
39
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
40 Keyword arguments:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
41 file, sep, end
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
42 """
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
43
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
44 stream = kwds.get('file', sys.stdout)
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
45 sep = kwds.get('sep', ' ')
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
46 end = kwds.get('end', '\n')
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
47
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
48 if args:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
49 stream.write(sep.join([str(arg) for arg in args]))
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
50 if end:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
51 stream.write(end)
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
52 try:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
53 stream.flush()
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
54 except AttributeError:
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
55 pass
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
56
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
57 def is_msys():
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
58 """Return true if the execution environment is MSYS"""
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
59
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
60 try:
2054
32f4900761d5 Update msys_build_deps.py for MSYS 1.0.13 root directory search
Lenard Lindstrom <len-l@telus.net>
parents: 1616
diff changeset
61 # Unfortunately there is no longer an MSYS specific identifier.
32f4900761d5 Update msys_build_deps.py for MSYS 1.0.13 root directory search
Lenard Lindstrom <len-l@telus.net>
parents: 1616
diff changeset
62 return os.environ['TERM'] == 'cygwin'
916
8a7d9b2de067 MinGW/MSYS build process more automated and DLLs Win32 GUI by default
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
63 except KeyError:
1553
ebd545641c8b merging with python3 branch r 2048
Lenard Lindstrom <len-l@telus.net>
parents: 916
diff changeset
64 return False