How to approve current output as stable output
Preliminaries
-
WHAT is one of MonetDB4, MonetDB5, template, sql, pathfinder.
-
You need the check-out sources of WHAT in say ~/WHAT .
-
In case you have no installed and working MonetDB
(to be more precise: in case you don't have a working Mapprove.py
and monetdb-config in your PATH):
-
add one of
- /ufs/monet/Testing/Stable/MonetDB/.GNU.32.32.d-Darwin8.2.0/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.32.32.d-Gentoo1.6.13/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.32.32.d-SuSE9.1/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.32.32.s-CYGWIN1.5.12/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.32.d-Fedora4/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Debian3.0/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Fedora3/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Fedora4/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-IRIX646.5/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-RedHat4WS/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-SunOS5.8/bin/
- /ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-SuSE9.3/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.32.d-Fedora4/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.64.d-Fedora3/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.64.d-Fedora4/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.64.d-RedHat4WS/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.64.d-SunOS5.8/bin/
- /ufs/monet/Testing/Stable/MonetDB/.ntv.64.64.d-SuSE9.3/bin/
to your PATH; as Mapprove.py and
monetdb-config are supposed to be system independent, it shouldn't
matter which one, provided Mapprove.py and
monetdb-config do exist.
-
Decide, from which test-run (i.e., SYSTEM & DEBUGMASK) you want to
approve:
-
SYSTEM is .COMP.BITS.OIDS.LINK-SYSTVER,
e.g., .GNU.64.64.d-Fedora4
-
DEBUGMASK is one of 0, 10, 8388618;
usually, 10 should be used.
-
Decide, whether you want to approve
- stdout (-xout),
- stderr (-xerr),
- or both (default, no -x required)
(see `Mapprove.py -?` for details).
-
Decide, whether you want to approve
- as default stable output or
- as system-specific stable output
(see the -S option in `Mapprove.py -?`).
Action
-
cd to ~/WHAT
-
set environment variables
- TSTSRCBASE=`pwd`
- TSTTRGBASE=/ufs/monet/Testing/Stable/WHAT/SYSTEM/TestsDEBUGMASK
e.g.,
TSTTRGBASE=/ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Fedora4/mTests10
(alternatively, you can also add --TSTSRCBASE= and --TSTTRGBASE=
whenever you run Mapprove.py)
-
run
`Mapprove.py [-x(out|err)] [-S...] TSTDIR TSTNAME`
e.g.,
`Mapprove.py -xout scripts/gold tst100`
(see `Mapprove.py -?` for details).
-
use
`ls TSTDIR/Tests/TSTNAME.stable.out*`
to check which specific outputs (already) exist
-
use
`diff -I'^#' -B -b TSTDIR/Tests/TSTNAME.stable.out TSTDIR/Tests/TSTNAME.stable.out.SYS`
to check how a specific output differs from the default one
-
repeat for each test that is to be approved
-
follow instructions of Mapprove.py
Questions/Problems/Comments/...
Stefan Manegold, Stefan.Manegold@cwi.nl
`Mapprove.py -?`
Usage: Mapprove.py [options] ( [<dir>] [<tests>] | [<dirs>] )
Options are:
-c or --config config_file
read options from the given file
-? or --help
print usage message
-s or --set option=value
set a named option
-r
recurse into subdirectories (implies 'All')
--MONETDB_SOURCE <path>
default: "/ufs/monet/Testing/Stable/MonetDB"
--MONETDB_BUILD <path>
default: "/ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Fedora4"
--MONETDB_PREFIX <path>
default: "/ufs/monet/Testing/Stable/MonetDB/.GNU.64.64.d-Fedora4"
--SQL_PREFIX <path>
default: ""
--TSTSRCBASE <path>
default: <MONETDB_SOURCE>
--TSTTRGBASE <path>
default: <MONETDB_PREFIX>
-x <ext>
approve only output files *.<ext><sys> (<ext> = 'out' or 'err')
(default: <ext> = 'out' & 'err')
-S <sys>
approve specific output *.<ext><sys>
(<sys> = '[.<OS>[<RELEASE>]][.(32|64)bit][.STATIC]',
(default: longest match for <sys> = '[.Linux[2.4.20-20.9perfctrsmp]][.32bit]')
-f
force approval of error messages (i.e., lines starting with '!')
<dir> : if present, Mapprove.py behaves as if called in <dir>
<tests> : list of tests to be processed; if none or 'All' is given,
all tests listed in 'Tests/All' are processed
(defaults to 'All' if -r is used)
<dirs> : list of directories to be processed; if present, Mapprove.py
processes 'All' tests in each directory of <dirs>; -r may be used also
See /ufs/monet/Testing/Stable/testing/README
for further details about Mapprove.py.
|