Margers a5fe90e392 Test instruction set AVX102. 1 mēnesi atpakaļ
..
avx a5fe90e392 Test instruction set AVX102. 1 mēnesi atpakaļ
dosbox 870a91502a Fix compilation of dosbox_wrapper.pas 1 mēnesi atpakaļ
macos 4ace790492 * remove $Log 20 gadi atpakaļ
testsuite 21e13f0c2c Regenerate all Makefile's after: Change resource string extension variable RSTEXT to '.rsj' 3 mēneši atpakaļ
unittests 523c4486aa * Add CheckAllRTL 4 mēneši atpakaļ
variants f56c2bcefc * fixed some tests involving extended/double/currency after previous 17 gadi atpakaļ
Makefile 21e13f0c2c Regenerate all Makefile's after: Change resource string extension variable RSTEXT to '.rsj' 3 mēneši atpakaļ
Makefile.fpc 49183639e0 * Reworked testsuite database 6 mēneši atpakaļ
README.md a341661f98 * threadlist -> tasklist 4 mēneši atpakaļ
bench.pp f1d131ab83 + -B added to get timing info 18 gadi atpakaļ
concat.pp 04df0d537e * more finegrained parallelism support for testsuite runs: the tests are no 13 gadi atpakaļ
createlst.pp ef05e4cb49 Ensure '/' is used as directory separator to get same output as before 9 gadi atpakaļ
dbadd.lpi 49183639e0 * Reworked testsuite database 6 mēneši atpakaļ
dbadd.lpr 49183639e0 * Reworked testsuite database 6 mēneši atpakaļ
dbdigest.lpi 2ff7f45a36 * Add tssql 4 mēneši atpakaļ
dbdigest.pp 1199bb3eb5 Add help for -Q/--sql option 4 mēneši atpakaļ
digest.pp 49183639e0 * Reworked testsuite database 6 mēneši atpakaļ
digestanalyst.pas 393fc1cea2 * Correct counting 4 mēneši atpakaļ
dotest.pp ac669830a2 * fix dotest.pp after the wasi->wasip1 rename and the addition of wasip1threads 4 mēneši atpakaļ
drop_testsuite.sql 49183639e0 * Reworked testsuite database 6 mēneši atpakaļ
fail.pp 9f69dd28b4 Allow to pass antoher exitcode to fail utility by command line first parameter 11 mēneši atpakaļ
fptime.pp 2bcf1b7f59 * fptime works now usefully on unix systems 5 gadi atpakaļ
fpts2junit.pp 5350ac7d65 fpts2junit: prevent double entries in junit xml (in test log are double entries, one for compiles, one for runs) 4 gadi atpakaļ
gparmake.pp 22c91ec124 * use sametext instead of converting case 3 mēneši atpakaļ
libtar.pas 788c6a6f83 Do not call Free if constructor failed 10 gadi atpakaļ
prepup.pp 42b3a51333 * Try to call tarwriter.addfile multiple times 10 gadi atpakaļ
redir.pp 77c51bf7e2 Add try/except block inside try/finally block in ExecuteRedir function 9 mēneši atpakaļ
testfail.pp 5fa9463074 * remove two warnings 15 gadi atpakaļ
testsuite.sql a05f52dfed * Add CheckAllRTL 4 mēneši atpakaļ
tsdb.pp a412bc39cd * Add CheckAllRTL explanation 4 mēneši atpakaļ
tsstring.pp efe885c446 * Introduce stInvalid test status 4 mēneši atpakaļ
tstypes.pp 523c4486aa * Add CheckAllRTL 4 mēneši atpakaļ
tsutils.pp a6077103b2 * typo fixed 6 mēneši atpakaļ

README.md

DBDigest tool.

Configuration

There are 2 kinds of configuration data for DBDigest.

  • global configuration
  • Test run data

Global configuration

This includes database configuration and run mode. the database configuration can be specified in 3 different ways:

  • in the global /etc/dbdigest.ini
  • the dbigest.cfg run file (deprecated)
  • the command-line. (deprecated)

The global file is read first, if it exists. The dbdigest.cfg file is read next, and the command-line options are list:

The recommended way is to put it in the global config file, which has the following format (the values are examples):

[Database]
Name=testsuite
Host=localhost
username=user
password=secret
port=5432

In the 'dbdigest.cfg' file, the format is backwards-compatible:

databasename=NAME
host=HOST
password=PWD
username=USER

On the command-line the options are:

  -d --databasename=NAME            database name
  -h --host=HOST                    database hostname
  -p --password=PWD                 database user password
  -P --port=NNN                     database connection port
  -u --username=USER                database user name

Other than the database connection, the following global options can be given:

  • -r --relsrcdir=DIR the relative source dir for getting test files.
  • -S --testsrcdir=DIR the absolute test source dir
  • -T --tasklist=FILE file with configuration file names to import.
  • -j --taskcount=N Maximum number of threads to use when importing.
  • -V --verbose be more verbose (writes lots of debug info)
  • -f --config=FILENAME in case a single digest file is imported, the name of the config file. If not set, dbdigest.cfg is used.

If the -T --tasklist option is given, then -f/--config is ignored: no default file will be read. Only the files in the threadlist file will be treated.

Example of a thread list file (mytests.lst):

2025-05-01-i386/gcc-dbdigest.cfg
2025-05-01-arm/llvm-dbdigest.cfg

The logfile and longlogfile will be treated as relative to the dbdigest.cfg files if they are relative filenames. If they are absolute filenames, they're used as-is.

Test Run data

Run data describes one test run: basically, one dbdigest.cfg. For a single test run, the dbdigest.cfg file is read and the command-line options are examined to compose all data for a test run.

  • -l --logfile=FILE set log file to analyse
  • -L --longlogfile=FILE set long log filename (logs of run tests)
  • -o --os=OS set OS for testrun
  • -c --cpu=CPU set CPU
  • -a --category=CAT set category
  • -v --version=VER set compiler version
  • -t --date=DATE date in YYYMMDD(hhmmnn) format (only the date part is retained)
  • -s --submitter=NAME submitter name
  • -m --machine=NAME set machine name on which testsuite was run
  • -C --compile-flags=FLAGS set used compilation flags
  • --comment=FLAGS backwards compatible way to set compilation flags (deprecated)
  • -D --description=DESC set config description (helpful comment)
  • --compilerdate=DATE set compiler date
  • --compilerfullversion=VERSION set full compiler version
  • --svncompilerrevision=REV set revision of used compiler
  • --svntestsrevision=REV set revision of testsuite files
  • --svnrtlrevision=REV set revision of RTL
  • --svnpackagesrevision=REV set revison of packages

The preferred way to specify the options is in a dbdigest.cfg file. The name of this file is settable using the -f or --config command-line option.

The dbdigest.cfg accepts all long versions of the command-line options, and you can specify comments using the usual # sign.

Examples

Import data from a single testrun, with testrun data in mytest.cfg:

dbdigest -f mytest.lst

The database connection data will be read from the global configuration.

Import data from a list of testruns in mytests.lst (4 threads):

dbdigest -T mytests.lst

Import data from a list of testruns in mytests.lst (8 threads):

dbdigest -T mytests.lst -j 8

DBAdd tool.

To add new CPUs or OSes to the database, use the dbadd tool. It will use the global dbdigest.ini file to connect to the database, and will add the new record in the appropriate table. The tool accepts 3 command-line options:

  • -t --type=TYPE where TYPE is one of os, cpu, category or version
  • -v --value=value the value to add
  • -d --date=YYYYMMDD only used when adding a version: the release date of the version (if not specified, today is used).

Test definitions are added automatically during import.