VSTHlite
From NetBSD Wiki
Contents |
VSTHlite
Really opensource and free test suite for a subset of pthreads - POSIX 1003.1-1996 threads.
Prerequirements:
- Preinstalled TET lite
Known issues:
- Requires to be ported to NetBSD
Setup on NetBSD
There is step-by-step guide to run VSTHlite on the NetBSD (was tested on NetBSD/ARM and NetBSD/i386).
- Setup lite version of TET to the /opt/tet3lite
- Use following commands to add proper user and group for VSTHlite
groupadd vsxg0 useradd -m -d /opt/tet3lite/VSTHlite -g vsgx0 vsx0
- Unpack the VSX deliveres (vsxgen-os, vsthlite, vsx-vtools) to the home directory of the vsx0 user
- Change ownership of the /opt/tet3lite to the vsx0:vsxg0 recursively
- Add to the end of ~vsx0/.profile the following expressions
# CUSTOM export PATH=$PATH:$HOME/../bin:$HOME/BIN export TET_EXECUTE=$HOME/TESTROOT export TET_ROOT=$HOME/..
- Change or remove password for vsx0 user
- Login as vsx0 user
- Start config.sh and answer to the questions. Don't forget to append addition libraries (-lrt)
Which other libraries are needed to build VSTH []? (should be of the form: -l<name> or full pathname): -lrt
- Login as vsx0 user
- Fix files to be compatible with NetBSD itself:
- Fix ~vsx0/SRC/vsxconfig.h in according to the OS definitions
- Fix ~vsx0/SRC/vsxparams, if needed
- Implement priority switchers in the userintf.c (really I don't know how to do it)
- Temporary disable mount() and umount() calls in userintf.c (there is the hack and should be fixed)
- Save the vsxconfig.h, vsxparams, and userintf.c somewhere
- Apply the nonposix.c patch
- Start install.sh
- Fix files to be compatible with NetBSD itself:
Build and run test suite
Now we're prepeared to build and run test suites. The all steps is making as described in the VSTHlite manual. Please, login as vsx0 user to make all following steps, if no other requirements are noticed.
- For some reasons a few test suites require superuser permissions. In the build test scenario the chmog utility is called. Check and fix its permissions (run these commands under root user)
chown root /opt/tet3lite/VSTHlite/SRC/BIN/chmog chmod u+s /opt/tet3lite/VSTHlite/SRC/BIN/chmog
Build and clean throught tcc
The following command is used to build test cases (you should stay in the home directory of the vsx0 user):
tcc -p -s scen.bld -b $PWD
And to clean correspondingly:
tcc -p -s scen.bld -c $PWD
Running
Following command should run the all test cases at once.
tcc -p -s scen.exec -e $PWD
Use the correspondent journal file usually placed at for example (to get real path of the journal file look to the fisrt lines of the tcc output):
tcc: journal file is /opt/tet3lite/VSTHlite/results/0043e/journal
Results
- Here is the results (compressed journal file - please, rename to journal.gz) of the VSTHlite started on NetBSD-20080529/ARM. The lof of things are not tested or unsupported.
- The results of the VSTHlite started today on NetBSD-20080627/x86. Seems more perfect than for previous one.
- New results of the VSTHlite started on NetBSD-20080702/ARM (OMAP H4).
- Andrew Doran proposed pthread patchset in the tech-misc mailing list. There is journal file of the VSTHlite started on NetBSD-20080704/ARM with this patch,
There is still topic to discuss.
