##// END OF EJS Templates
Clean up formatting sys info for test report
Thomas Kluyver -
Show More
@@ -28,8 +28,9 b' import subprocess'
28 import time
28 import time
29
29
30 from .iptest import have, test_group_names, test_sections
30 from .iptest import have, test_group_names, test_sections
31 from IPython.utils.path import compress_user
31 from IPython.utils.py3compat import bytes_to_str
32 from IPython.utils.py3compat import bytes_to_str
32 from IPython.utils.sysinfo import brief_sys_info
33 from IPython.utils.sysinfo import get_sys_info
33 from IPython.utils.tempdir import TemporaryDirectory
34 from IPython.utils.tempdir import TemporaryDirectory
34
35
35
36
@@ -205,8 +206,20 b' def do_run(controller):'
205
206
206 def report():
207 def report():
207 """Return a string with a summary report of test-related variables."""
208 """Return a string with a summary report of test-related variables."""
208
209 inf = get_sys_info()
209 out = [ brief_sys_info(), '\n']
210 out = []
211 def _add(name, value):
212 out.append((name, value))
213
214 _add('IPython version', inf['ipython_version'])
215 _add('IPython commit', "{} ({})".format(inf['commit_hash'], inf['commit_source']))
216 _add('IPython package', compress_user(inf['ipython_path']))
217 _add('Python version', inf['sys_version'].replace('\n',''))
218 _add('sys.executable', compress_user(inf['sys_executable']))
219 _add('Platform', inf['platform'])
220
221 width = max(len(n) for (n,v) in out)
222 out = ["{:<{width}}: {}\n".format(n, v, width=width) for (n,v) in out]
210
223
211 avail = []
224 avail = []
212 not_avail = []
225 not_avail = []
@@ -88,6 +88,13 b" def unquote_filename(name, win32=(sys.platform=='win32')):"
88 name = name[1:-1]
88 name = name[1:-1]
89 return name
89 return name
90
90
91 def compress_user(path):
92 """Reverse of :func:`os.path.expanduser`
93 """
94 home = os.path.expanduser('~')
95 if path.startswith(home):
96 path = "~" + path[len(home):]
97 return path
91
98
92 def get_py_filename(name, force_win32=None):
99 def get_py_filename(name, force_win32=None):
93 """Return a valid python filename in the current directory.
100 """Return a valid python filename in the current directory.
@@ -93,6 +93,11 b' def pkg_info(pkg_path):'
93 default_encoding=encoding.DEFAULT_ENCODING,
93 default_encoding=encoding.DEFAULT_ENCODING,
94 )
94 )
95
95
96 def get_sys_info():
97 """Return useful information about IPython and the system, as a dict."""
98 p = os.path
99 path = p.dirname(p.abspath(p.join(__file__, '..')))
100 return pkg_info(path)
96
101
97 @py3compat.doctest_refactor_print
102 @py3compat.doctest_refactor_print
98 def sys_info():
103 def sys_info():
@@ -112,39 +117,8 b' def sys_info():'
112 'sys_executable': '/usr/bin/python',
117 'sys_executable': '/usr/bin/python',
113 'sys_platform': 'linux2',
118 'sys_platform': 'linux2',
114 'sys_version': '2.6.6 (r266:84292, Sep 15 2010, 15:52:39) \\n[GCC 4.4.5]'}
119 'sys_version': '2.6.6 (r266:84292, Sep 15 2010, 15:52:39) \\n[GCC 4.4.5]'}
115 """
116 p = os.path
117 path = p.dirname(p.abspath(p.join(__file__, '..')))
118 return pprint.pformat(pkg_info(path))
119
120 def _compress_user(path):
121 """Reverse of :func:`os.path.expanduser`
122 """
120 """
123 home = os.path.expanduser('~')
121 return pprint.pformat(get_sys_info())
124 if path.startswith(home):
125 path = "~" + path[len(home):]
126 return path
127
128 def brief_sys_info():
129 """Return summary information about IPython and the system, as a string.
130 """
131 p = os.path
132 path = p.dirname(p.abspath(p.join(__file__, '..')))
133 inf = pkg_info(path)
134 out = []
135 def _add(name, value):
136 out.append((name, value))
137
138 _add('IPython version', inf['ipython_version'])
139 _add('IPython commit', "{} ({})".format(inf['commit_hash'], inf['commit_source']))
140 _add('IPython package', _compress_user(inf['ipython_path']))
141 _add('Python version', inf['sys_version'].replace('\n',''))
142 _add('sys.executable', _compress_user(inf['sys_executable']))
143 _add('Platform', inf['platform'])
144
145 width = max(len(n) for (n,v) in out)
146 return '\n'.join("{:<{width}}: {}".format(n, v, width=width) for (n,v) in out)
147
148
122
149 def _num_cpus_unix():
123 def _num_cpus_unix():
150 """Return the number of active CPUs on a Unix system."""
124 """Return the number of active CPUs on a Unix system."""
General Comments 0
You need to be logged in to leave comments. Login now