diff --git a/mps/tool/test-runner.py b/mps/tool/test-runner.py deleted file mode 100755 index 32a89523ce6..00000000000 --- a/mps/tool/test-runner.py +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/python -# How to test a release before shipping it to Configura - -# You have a candidate release. This document tells you how to test it -# before shipping it -- quick tests. -# Readership: all. Confidential: no. Status: rough notes. -# Background: knowing the history of MPS development for Configura is -# an advantage. -# Peer documents: -# . -# . - -# What do we test? -# Not much -- this procedure is for a quick test before shipping, -# principally to make sure that the build isn't crock in some way. - -# How to run the test: -# You need python (eg. 2.3). Cd to where you would type w3build.bat. -# Type ..\tool\test-runner.py -# Each test should report "Conclusion: Failed to find any defects." -# Also check full log placed in file a1.txt. - - -import os -import platform -import re - -def mpsplatformcode() : - """Makes a guess at the MPS platform code. If it makes a full guess - then returns the string, otherwise it returns the pair (None,guess) - where guess is an MPS platform-like string with unknown parts set to - '??'. - """ - - # Uses the platform module which appears to be in Python 2.3, but not - # documented until Python 2.4. See - # http://www.python.org/doc/2.4/lib/module-platform.html - osys = '??' # operating system - try : - # 2007-07-03 DRJ : Darwin is tested, the other I have guessed at - # from the documentation for platform.system() - osys = {'Darwin':'xc', - 'Linux':'li', - 'Windows':'w3', - }[platform.system()] - except : - pass - - arch = '??' # CPU architecture - try : - # 2007-07-03 DRJ : 'Power Macintosh' and 'i386' are tested (but ppc - # under Rosetta, so I'm not confident it's right). - arch = {'Power Macintosh':'pp', - 'i386':'i3', - 'x86':'i3', - 'AMD64':'i6', - }[platform.machine()] - except : - # Windows specific hack. On Python 2.4 and 2.5 platform.machine - # returns ''. - if platform.machine() == '' and osys == 'w3' : - arch = 'i3' - # x64 hack. Use $TARGET_CPU to determine whether we want to - # run 32 or 64 bit. - # On windows TARGET_CPU is set by the SDK setenv command which - # determines the build environment. This needs to be done before - # we run the tests. - if arch == 'i6' and osys == 'w3': - try : - target_cpu = os.environ['TARGET_CPU'] - arch = {'x86':'i3', - 'x64':'i6', - }[target_cpu] - except : - pass - compiler = '??' # C compiler tool chain - # There's no automagic way to determine this, some OS/Arch - # combinations support more than one C compiler. Sometimes it really - # is up to the builder to choose what C compiler to use. - # Here, we simplify and get it right for Windows and Macs. - try : - compiler = {'xc':'gc', - 'w3':'mv', - }[osys] - except : - pass - - plat = osys + arch + compiler - if re.search(r'\?', plat) : - return None, plat - return plat - -mpsplatform = mpsplatformcode() - -make = '' -if mpsplatform[4:6] == 'gc' : - make = "make -r -f %s.gmk VARIETY=%%s %%s >> %%s" % mpsplatform -elif mpsplatform[4:6] == 'mv' : - make = "nmake /f %s.nmk VARIETY=%%s %%s.exe >>%%s" % mpsplatform - -run = '' -if mpsplatform[:2] == 'xc' : - run = "./%s/%%s/%%s >> %%s" % mpsplatform -elif mpsplatform[:2] == 'w3' : - run = r'.\%s\%%s\%%s.exe >>%%s' % mpsplatform - -testout = "./a1.txt" - -def runtest(test, variety, testout): - """Appends to testout.""" - - os.system("echo .") - os.system("echo .") - os.system("echo .") - os.system("echo --- %s {%s} ---" % (test, variety) ) - os.system("echo --- %s {%s} --- >>%s" % (test, variety, testout) ) - os.system(make % (variety, test, testout) ) - os.system(run % (variety, test, testout) ) - -def runtestlist( lTest, lVariety, testout ): - # clear testout - os.system("echo . >%s" % testout) - - os.system("echo === Tests: {%s} {%s} ===" % (lTest, lVariety) ) - os.system("echo === Tests: {%s} {%s} === >>%s" % (lTest, lVariety, testout) ) - for test in lTest: - for variety in lVariety: - runtest(test, variety, testout) - - -runtestlist([ - "amcss", - "amsss", - "finalcv", - "awlut", - "awluthe", - "mpsicv", - "zcoll", - "zmess", - "walkt0", - "messtest", - ], ["we", "hi", "di", "ci"], testout) - -os.system("echo DONE") - -""" - * C. COPYRIGHT AND LICENSE - * - * Copyright (C) 2005 Ravenbrook Limited . - * All rights reserved. This is an open source license. Contact - * Ravenbrook for commercial licensing options. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Redistributions in any form must be accompanied by information on how - * to obtain complete source code for this software and any accompanying - * software that uses this software. The source code must either be - * included in the distribution or be available for no more than the cost - * of distribution plus a nominal fee, and must be freely redistributable - * under reasonable conditions. For an executable file, complete source - * code means the source code for all modules it contains. It does not - * include source code for modules or files that typically accompany the - * major components of the operating system on which the executable file - * runs. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -""" -# $Id$