/usr/lib/python3/dist-packages/joblib/test/test_testing.py is in python3-joblib 0.10.3+git55-g660fe5d-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | import sys
import re
from joblib.testing import (assert_raises, assert_raises_regex,
check_subprocess_call)
def test_check_subprocess_call():
code = '\n'.join(['result = 1 + 2 * 3',
'print(result)',
'my_list = [1, 2, 3]',
'print(my_list)'])
check_subprocess_call([sys.executable, '-c', code])
# Now checking stdout with a regex
check_subprocess_call([sys.executable, '-c', code],
# Regex needed for platform-specific line endings
stdout_regex=r'7\s{1,2}\[1, 2, 3\]')
def test_check_subprocess_call_non_matching_regex():
code = '42'
non_matching_pattern = '_no_way_this_matches_anything_'
assert_raises_regex(ValueError,
'Unexpected stdout.+{}'.format(non_matching_pattern),
check_subprocess_call,
[sys.executable, '-c', code],
stdout_regex=non_matching_pattern)
def test_check_subprocess_call_wrong_command():
wrong_command = '_a_command_that_does_not_exist_'
assert_raises(OSError,
check_subprocess_call,
[wrong_command])
def test_check_subprocess_call_non_zero_return_code():
code_with_non_zero_exit = '\n'.join([
'import sys',
'print("writing on stdout")',
'sys.stderr.write("writing on stderr")',
'sys.exit(123)'])
pattern = re.compile('Non-zero return code: 123.+'
'Stdout:\nwriting on stdout.+'
'Stderr:\nwriting on stderr', re.DOTALL)
assert_raises_regex(ValueError,
pattern,
check_subprocess_call,
[sys.executable, '-c', code_with_non_zero_exit])
def test_check_subprocess_call_timeout():
code_timing_out = '\n'.join([
'import time',
'import sys',
'print("before sleep on stdout")',
'sys.stdout.flush()',
'sys.stderr.write("before sleep on stderr")',
'sys.stderr.flush()',
'time.sleep(1.1)',
'print("process should have be killed before")',
'sys.stdout.flush()'])
pattern = re.compile('Non-zero return code:.+'
'Stdout:\nbefore sleep on stdout\s+'
'Stderr:\nbefore sleep on stderr',
re.DOTALL)
assert_raises_regex(ValueError,
pattern,
check_subprocess_call,
[sys.executable, '-c', code_timing_out],
timeout=1)
|