Repository navigation
Expand file tree
/
Copy pathtest_exceptions_generated.py
More file actions
58 lines (49 loc) · 1.97 KB
/
Copy pathtest_exceptions_generated.py
File metadata and controls
58 lines (49 loc) · 1.97 KB
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
#####################################################################################
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
# This source code is subject to terms and conditions of the Apache License, Version 2.0. A
# copy of the license can be found in the License.html file at the root of this distribution. If
# you cannot locate the Apache License, Version 2.0, please send an email to
# [email protected]. By using this source code in any fashion, you are agreeing to be bound
# by the terms of the Apache License, Version 2.0.
#
# You must not remove this notice, or any other, from this software.
#
#
#####################################################################################
"""
Sanity tests for exceptions automatically generated by generate_exceptions.py (that
cannot be hit under normal circumstances).
"""
from iptest.assert_util import run_test, AreEqual, skiptest, testpath
skiptest("win32")
import sys
import clr
clr.AddReference("IronPython")
import IronPython.Runtime.Exceptions as IRE
#-----------------------------------------------------------------------------------
#--Helpers
def gen_testcase(exc_name):
def temp_func():
e0 = eval("IRE.%s()" % exc_name)
e2 = eval("IRE.%s('msg', e0)" % exc_name)
AreEqual(e0.Message, e2.InnerException.Message)
AreEqual("msg", e2.Message)
globals()["test_%s" % exc_name] = temp_func
#-----------------------------------------------------------------------------------
#--Test cases
#Try not to corrupt sys.path
syspath_orig = [x for x in sys.path]
try:
sys.path.append(testpath.script_testdir)
from generate_exceptions import pythonExcs as test_cases
finally:
sys.path = syspath_orig
#Generate the test cases
test_cases = [x.replace("Error", "") + "Exception" for x in test_cases]
for exc_name in test_cases:
gen_testcase(exc_name)
#-----------------------------------------------------------------------------------
#--Main
run_test(__name__)