/x-cvs-tcs

Archived TCS (migrated from CVS)

Primary LanguageE

Welcome to TCS - buggered if I know what it stands for but you can 
use it to test Firebird or InterBase.

This readme was done in 5min flat so apologies in advance.


BUILDING 

First you need to build the tcs programs and restore the databases
the script file buildInstall.sh describes how to do that, if you
are lucky you can run it, if not the procedure is simple and you
can get it by reading the script.

(The rest of this was written by Frank, as part of an email.  But it
helped get me started)

MOD 27-July-2001


QUICK TEST 

cd tcs/scripts

./runtcs or ./runtcs.fb2

at the prompt type in

ls
exit

Check out the file .tcs_config for config.




QUICK NOTES ON HOW TO USE

Using the test control system on Linux

cd into the directory where you have installed the TCS (TCS/tcs/scripts)

If you don't like vi and don't want to set the EDITOR variable globally,
add a line like
EDITOR=joe -nobackups
at the beginning of the runtcs script.

Start the tcs with runtcs.

You will see something like

Mit Okt 18 15:53:43 MEST 2000
record not found for user: QA_FRANK
Reading configuration file ".tcs_config"...
        Version set to:         6.0.0
        Boilerplate set to:     BP_FB
        Environment set to:     QA_FB
        Run set to:             FIREBIRD

Scanning System Environment for REMOTE variables
        REMOTE_DIR1=/home/frank/TCS/FB_test
        WHERE_GDB=/home/frank/TCS/FB_test
        REMOTE_DIR11=/home/frank/TCS/FB_test
        WHERE_GDB1=/home/frank/TCS/FB_test
        WHERE_GDB2=/home/frank/TCS/FB_test
        WHERE_GDB3=/home/frank/TCS/FB_test
        WHERE_GDB_EXTERNAL=/home/frank/TCS/FB_test
        REMOTE_DIR=/home/frank/TCS/FB_test

        Welcome to TCS: V4.16   29-Jan-1998
tcs>

At the first start there will be probably some more record not found messages.

The first test is to enter
EE QA_FB
at the tcs> prompt.

This will just return you to the tcs> prompt if your IB server has a broken BLOB_edit.
To use any of the edit functions of the TCS you will need to install a newer
server (a newer gds.so may be enough, but I don't know)

If you have a server with a working BLOB_edit function, your favorite
editor will be started and you may edit the test environment.
Don't do this now, just leave the editor.
You will be returned to the tcs> prompt.

Now you can run single tests:

tcs> r cf_isql_01

or series

tcs> rs cf_isql

or the whole suite

tcs> rms VECTOR_12HOUR

Newer firebird servers should pass the whole suite.
If there where failures you can list them with:

tcs> lf

And here is a list of all commands that are available:
	AS	add_series <series> to <meta_series> [<sequence>]
	AT	add test <test> to <series> [<sequence>]
	BR	browse for tests containing <string>
	C	commit changes

	CB	create <boiler_plate> using [<template>]
	CE	create <environment> using [<template>]
	CLT	create local <test> [<version>]
	CMS	create <meta_series> (global)
	CS	create <series>  (global, EOF to end list)
	CT	create <test> [<version>] (global)

	DAF	delete all failures for [<run>]/current run
	DF	delete failure for <test> for current run
	DI	delete initialization for <test> [<version>] (global)
	DLI	delete local initialization for <test> [<version>]
	DLT	delete local <test> [<version>]
	DT	delete <test> [<version>] (global)
	DTS	delete <test> from <series>
		(test remains in DB, all copies removed from series)
	DTM	delete timing information

	DUPGG	duplicate <test_1> <version_1> <test_2> <version_2>
		global to global
	DUPGL	duplicate <test_1> <version_1> <test_2> <version_2>
		global to local
	DUPLL	duplicate <test_1> <version_1> <test_2> <version_2>
		local to local

	E	edit <test> [<version>] (global)
	EE	edit <environment>
	EB	edit <boiler plate>
	EC	edit comment from <test> (global)
	EGI	edit global initialization of <test> [<version>]
	EL	edit local <test> [<version>]
	ELC	edit local comment from <test>
	ELI	edit local initialization of <test> [<version>]
	EMSC	edit <meta_series> comment (global)
	ESC	edit <series> comment (global)

	FTEST	find test(s) with name(s) like <string>
	FSERIES find series(s) with names(s) like <string>

	IL	local init for local/global <test> [<version>]
	IG	global init for local/global <test> [<version>]
	IS	initialize <series> [<sequence> [<version>]]
		where sequence 1-3,10 runs tests 1,2,3,10
	KILL	rollback database changes

	LB	list boiler plates
	LE	list environments
	LF	list failed tests
	LMS	list <meta_series>
	LR	list runs
	LS	list <series>
	LT	list tests [<-l>=local, <-g>=global (default)]

	MLTV	modify local <test> <version_1> to <version_2>
	MTV	modify <test> <version_1> <version_2> (global)
	MVT	move <test> <series1> <series2> [<sequence>]

	PB	print [<boiler_plate>]
	PC	print comment for <test> (search local, then global)
	PD	print differences for failure of <test>
		(search local, then global
	PE	print [<environment>]
	PF	print failure for <test> (local)
	PGR	print expected global result for <test> [<version>]
	PMS	print series in <meta_series>
	PMSC	print <meta_series> comment
	PR	print expected result for <test> [<version>] (local)
	PRN	print run setting
	PS	print tests in <series> (local if it exists, otherwise
                global)
	PSC	print <series> comment
	PT	print <test> [<version>] (search local, then global)

	R	run <test> (search local, then global)
	RS	run <series> [<sequence>] where sequence of 1-3,10
		runs tests 1,2,3,10
	RMS	run <meta_series> [starting with <sequence>]

	MKF	mark known failure for <test> (local)
	RO	set NO_RUN_FLAG for global <test> [<version>] to <value>
		0 - Run the test
		1 - Do not run the test / Bug
		2 - Do not run the test / Code not yet implemented
	ROL	set NO_RUN_FLAG for local <test> [<version>] to <value>
		0 - Run the test
		1 - Do not run the test / Bug
		2 - Do not run the test / Code not yet implemented
	SLNI	set local NO_INIT_FLAG for <test> [<version>] to <value>
		0 - Initialization is read/write
		1 - Initialization is read only
	SNI	set NO_INIT_FLAG for <test> [<version>] to <value> (global)
		0 - Initialization is read/write
		1 - Initialization is read only
	SNIS	set NO_INIT_FLAG to read only for <series>

	SB	set <boiler plate>
	SDV	set <dollar verb> to <definition>
	SE	set <environment>

	SKF	set <run name> for known failures
	SRN	set <run>

	SHOW	show <test> (versions, inits, series)
	ST	show <test> (versions, inits, series)
	PVR	print version setting
	SVR	set <version>
	VECTOR	<configuration> run tests on vectored worklist

	HELP	display [<command/dollar verb>]
	?	display [<command/dollar verb>]
	SHELL	Escape to sub-shell
	Q	Exit from TCS
	QUIT	Exit from TCS
	EXIT	Exit from TCS

TCS reserved words are ("dollar" verbs):
	ADA		  	Invokes ada compiler
	ADA_LINK		Invokes ada linker
	ADA_MKFAM		Invokes ada family manager to create a
				family
	ADA_MKLIB		Creates an ada library
	ADA_RMFAM		Invokes ada family manager to remove a
				family
	ADA_RMLIB		Removes an ada library
	ADA_SEARCH		Necessary for ada test to run on VMS
	ADA_SETLIB		Necessary for ada test to run on VMS
	API			api
	CC			cc
	CXX			Invokes c++ compiler
	CXX_LINK		Invokes c++ linker
	COB			Invokes cobol compiler
	COBOL			Invokes cobol compiler (same as above)
	COB_LINK		Invokes cobol linker
	COPY			"cp"
	CRE			"cat >"
	CREATE			"cat >"
	DEL			"rm -f"
	DELETE			"rm -f"
	DIR			"ls"
	DIRECTORY		"ls"
	DROP			"drop_gdb"
	FOR			Invokes fortran compiler
	FORTRAN			Invokes fortran compiler (same as above)
	FORTRAN_LINK		Invokes fortran linker
	GBAK			"gbak"
	GCON			"gcon"
	GCSU			"gcsu"
	GDEF			"gdef"
	GDS_CACHE_MANAGER	"gds_cache_manager"
	GFIX			"gfix"
	GJRN			"gjrn"
	GLTJ			"gltj"
	GPRE			"gpre"
	GRST			"grst"
	GSEC			"gsec"
	ISQL			"isql"
	JAVA			"java"
	JAVAC			"javac"
	LINK			Invokes unix linker(cc)
	MAKE			"make"
	PAS			Invokes pascal compiler
	PASCAL			Invokes pascal compiler (same as above)
	QLI			"qli"
	RSH			"rsh"
	RUN			Execute in the shell
	SH			"sh"
	TYPE			"cat <"


There is also more detailed documentation in tcs/doc
and you might want to check out interbase/firebird/fsg/TCS for
some additonal scripts (that is the one in the interbase tree 
not the TCS tree)