tdSelfTest3.py revision cf22150eaeeb72431bf1cf65c309a431454fb22b
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz#!/usr/bin/env python
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz# -*- coding: utf-8 -*-
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd# $Id$
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd"""
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzTest Manager / Suite Self Test #3 - Bad XML input and other Failures.
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz"""
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz__copyright__ = \
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc"""
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimCopyright (C) 2010-2014 Oracle Corporation
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowenThis file is part of VirtualBox Open Source Edition (OSE), as
2e545ce2450a9953665f701bb05350f0d3f26275ndavailable from http://www.virtualbox.org. This file is free software;
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowenyou can redistribute it and/or modify it under the terms of the GNU
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowenGeneral Public License (GPL) as published by the Free Software
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimFoundation, in version 2 as it comes in the "COPYING" file of the
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzVirtualBox OSE distribution. VirtualBox OSE is distributed in the
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowenhope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimThe contents of this file may alternatively be used under the terms
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimof the Common Development and Distribution License Version 1.0
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz(CDDL) only, as it comes in the "COPYING.CDDL" file of the
3f08db06526d6901aa08c110b5bc7dde6bc39905ndVirtualBox OSE distribution, in which case the provisions of the
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzCDDL are applicable instead of those of the GPL.
af84459fbf938e508fd10b01cb8d699c79083813takashi
343a568a3281a6a0a4c562407aef7b0dfc299b98minfrinYou may elect to license modified versions of this file under the
343a568a3281a6a0a4c562407aef7b0dfc299b98minfrinterms and conditions of either the GPL or the CDDL or both.
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz"""
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz__version__ = "$Revision$"
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz# Standard Python imports.
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzimport os;
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzimport sys;
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim
53cf0034f617fdca55a345580e13afd88000e9ccjim# Only the main script needs to modify the path.
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimtry: __file__
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimexcept: __file__ = sys.argv[0];
499c9eae878c38f90c6ec605e6d88c6d12626bf1rboweng_ksValidationKitDir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))));
7add1372edb1ee95a2c4d1314df4c7567bda7c62jimsys.path.append(g_ksValidationKitDir);
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim# Validation Kit imports.
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzfrom common import utils;
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzfrom testdriver import reporter;
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantzfrom testdriver.base import TestDriverBase;
f5f89f79907d5295ca937e1814227875f11949b9jorton
f4cbda69df0490c6deaacb8d04f103d200ddd183nd
a99c5d4cc3cab6a62b04d52000dbc22ce1fa2d94coarclass tdSelfTest3(TestDriverBase):
65af5ed5b6403a8bed4edaa782c9905780015017rbowen """
df855969ca92fac8fecc1e19085904611e3ee06dtrawick Test Manager / Suite Self Test #3 - Bad XML input and other Failures.
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf """
0b34051dc3ae7468aac0d57222157a291cca83a7jim
65af5ed5b6403a8bed4edaa782c9905780015017rbowen def __init__(self):
65af5ed5b6403a8bed4edaa782c9905780015017rbowen TestDriverBase.__init__(self);
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf
0b34051dc3ae7468aac0d57222157a291cca83a7jim
0b34051dc3ae7468aac0d57222157a291cca83a7jim def actionExecute(self):
0b34051dc3ae7468aac0d57222157a291cca83a7jim
29ec8a3537a4522525a69e262a21448b315c91ddcovener # Testing PushHint/PopHint.
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf reporter.testStart('Negative XML #1');
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf oSubXmlFile = reporter.FileWrapperTestPipe();
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf oSubXmlFile.write('<Test timestamp="%s" name="foobar3">\n\n\t\n\r\n' % (utils.getIsoTimestamp(),));
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf oSubXmlFile.write('<Test timestamp="%s" name="sub3">' % (utils.getIsoTimestamp(),));
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf oSubXmlFile.write('<Test timestamp="%s" name="subsub1">' % (utils.getIsoTimestamp(),));
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf oSubXmlFile.close();
29ec8a3537a4522525a69e262a21448b315c91ddcovener reporter.testDone();
4fb14420685b9831d11271e9e24b40e7ccec808esf
4fb14420685b9831d11271e9e24b40e7ccec808esf # Missing end, like we had with IRPT at one time.
4fb14420685b9831d11271e9e24b40e7ccec808esf reporter.testStart('Negative XML #2 (IPRT)');
4fb14420685b9831d11271e9e24b40e7ccec808esf oSubXmlFile = reporter.FileWrapperTestPipe();
4fb14420685b9831d11271e9e24b40e7ccec808esf oSubXmlFile.write("""
5997560e9031b7b0fd0c392512f6cf5ee737b89bjim<?xml version="1.0" encoding="UTF-8" ?>
9534272616b71aaea50aeec4162e749a96aebd7fsf<Test timestamp="2013-05-29T08:59:05.930602000Z" name="tstRTGetOpt">
9534272616b71aaea50aeec4162e749a96aebd7fsf <Test timestamp="2013-05-29T08:59:05.930656000Z" name="Basics">
9534272616b71aaea50aeec4162e749a96aebd7fsf <Passed timestamp="2013-05-29T08:59:05.930756000Z"/>
9534272616b71aaea50aeec4162e749a96aebd7fsf </Test>
9534272616b71aaea50aeec4162e749a96aebd7fsf <Test timestamp="2013-05-29T08:59:05.930995000Z" name="RTGetOpt - IPv4">
9534272616b71aaea50aeec4162e749a96aebd7fsf <Passed timestamp="2013-05-29T08:59:05.931036000Z"/>
9534272616b71aaea50aeec4162e749a96aebd7fsf </Test>
4fb14420685b9831d11271e9e24b40e7ccec808esf <Test timestamp="2013-05-29T08:59:05.931161000Z" name="RTGetOpt - MAC Address">
9534272616b71aaea50aeec4162e749a96aebd7fsf <Passed timestamp="2013-05-29T08:59:05.931194000Z"/>
9534272616b71aaea50aeec4162e749a96aebd7fsf </Test>
9534272616b71aaea50aeec4162e749a96aebd7fsf <Test timestamp="2013-05-29T08:59:05.931313000Z" name="RTGetOpt - Option w/ Index">
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf <Passed timestamp="2013-05-29T08:59:05.931357000Z"/>
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf </Test>
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf <Test timestamp="2013-05-29T08:59:05.931475000Z" name="RTGetOptFetchValue">
9534272616b71aaea50aeec4162e749a96aebd7fsf <Passed timestamp="2013-05-29T08:59:05.931516000Z"/>
5997560e9031b7b0fd0c392512f6cf5ee737b89bjim </Test>
5997560e9031b7b0fd0c392512f6cf5ee737b89bjim <Test timestamp="2013-05-29T08:59:05.931640000Z" name="RTGetOpt - bool on/off">
5997560e9031b7b0fd0c392512f6cf5ee737b89bjim <Passed timestamp="2013-05-29T08:59:05.931687000Z"/>
4fb14420685b9831d11271e9e24b40e7ccec808esf </Test>
4fb14420685b9831d11271e9e24b40e7ccec808esf <Test timestamp="2013-05-29T08:59:05.931807000Z" name="Standard options">
4fb14420685b9831d11271e9e24b40e7ccec808esf <Passed timestamp="2013-05-29T08:59:05.931843000Z"/>
4fb14420685b9831d11271e9e24b40e7ccec808esf </Test>
4fb14420685b9831d11271e9e24b40e7ccec808esf <Test timestamp="2013-05-29T08:59:05.931963000Z" name="Options first">
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf <Passed timestamp="2013-05-29T08:59:05.932035000Z"/>
4fb14420685b9831d11271e9e24b40e7ccec808esf </Test>
4fb14420685b9831d11271e9e24b40e7ccec808esf""");
4fb14420685b9831d11271e9e24b40e7ccec808esf oSubXmlFile.close();
4fb14420685b9831d11271e9e24b40e7ccec808esf oSubXmlFile = None;
4fb14420685b9831d11271e9e24b40e7ccec808esf reporter.testDone();
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf # The use of testFailure.
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf reporter.testStart('Using testFailure()');
b71b65bbe45d025c2714893350a4ccea9f6d7fbcsf reporter.testValue('value-name3', 12345678, 'times');
f5f89f79907d5295ca937e1814227875f11949b9jorton reporter.testFailure('failure detail message');
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim reporter.testDone();
3e4bc252a7bd65ed789cbe305c257dfb7abf7cdcjerenkrantz
53cf0034f617fdca55a345580e13afd88000e9ccjim return True;
53cf0034f617fdca55a345580e13afd88000e9ccjim
53cf0034f617fdca55a345580e13afd88000e9ccjim
53cf0034f617fdca55a345580e13afd88000e9ccjimif __name__ == '__main__':
53cf0034f617fdca55a345580e13afd88000e9ccjim sys.exit(tdSelfTest3().main(sys.argv));
53cf0034f617fdca55a345580e13afd88000e9ccjim
53cf0034f617fdca55a345580e13afd88000e9ccjim