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 77 78 79
|
#####################################################################################
#
# Copyright (c) Microsoft Corporation.
#
# This source code is subject to terms and conditions of the Microsoft Public
# License. A copy of the license can be found in the License.html file at the
# root of this distribution. If you cannot locate the Microsoft Public
# License, please send an email to dlr@microsoft.com. By using this source
# code in any fashion, you are agreeing to be bound by the terms of the
# Microsoft Public License.
#
# You must not remove this notice, or any other, from this software.
#
#####################################################################################
from lib.assert_util import *
from lib.process_util import launch_ironpython_changing_extensions
# adding some negative test case coverage for the sys module; we currently don't implement
# some methods---there is a CodePlex work item 1042 to track the real implementation of
# these methods
import sys
def test_del_getframe():
# This is a destructive test, run it in separate instance of IronPython.
# Currently, there is no way to restore sys back to its original state.
global testDelGetFrame
if not testDelGetFrame:
return
del sys._getframe
try:
# try access again
x = sys._getframe
except AttributeError: pass
else: raise AssertionError("Deletion of sys._getframe didn't take effect")
try:
# try deletion again
del sys._getframe
except AttributeError: pass
else: raise AssertionError("Deletion of sys._getframe didn't take effect")
def test_negative():
# api_version
AreEqual(sys.api_version, 'IronPython does not support the C APIs, the api_version is not supported')
try:
sys.api_version = 2
except NotImplementedError:
pass
else:
Assert(False, "Setting sys.api_version did not throw NotImplementedError---ERROR!")
# displayhook
AreEqual(sys.displayhook, 'IronPython does not support sys.displayhook')
try:
sys.displayhook = 2
except NotImplementedError:
pass
else:
Assert(False, "Setting sys.displayhook did not throw NotImplementedError---ERROR!")
# settrace
AssertError(NotImplementedError, sys.settrace, None)
# getrefcount
AssertError(NotImplementedError, sys.getrefcount, None)
def test_winver():
#Codeplex WorkItem 2267
Assert(hasattr(sys, 'winver'))
if is_cli:
testDelGetFrame = "Test_Del_GetFrame" in sys.argv
if testDelGetFrame:
test_del_getframe()
else:
run_test(__name__)
# this is a destructive test, run it in separate instance of IronPython
launch_ironpython_changing_extensions(__file__, [], [], ("Test_Del_GetFrame",))
|