mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 10:21:20 +00:00
39 lines
2.1 KiB
Plaintext
39 lines
2.1 KiB
Plaintext
How to test DRD
|
|
~~~~~~~~~~~~~~~
|
|
|
|
1. Start with compiling DRD.
|
|
2. Check as follows that all global symbols in DRD have been wrapped by the
|
|
DRD_() macro (output must be empty):
|
|
nm -A drd*.o|grep ' T '|grep -v ' T vgDrd_'
|
|
3. Check as follows that all global symbols in the preloaded shared library
|
|
are redirected functions (output must be empty):
|
|
nm -A vgpreload*.o|grep ' T '|grep -v ' T _vg'
|
|
4. Run the regression tests as follows:
|
|
perl tests/vg_regtest drd
|
|
5. Run Konstantin's regression tests:
|
|
mkdir -p drt/unittest
|
|
svn checkout http://data-race-test.googlecode.com/svn/trunk/unittest drt/unittest
|
|
make -C drt/unittest -s all
|
|
./vg-in-place --tool=drd --check-stack-var=yes drt/unittest/racecheck_unittest 2>&1|less
|
|
6. Test the slowdown for matinv for various matrix sizes via the script
|
|
drd/scripts/run-matinv (must be about 24 for i == 1 and about
|
|
31 for i == 10 with n == 200).
|
|
7. Test whether DRD works with standard KDE applications and whether it does
|
|
not print any false positives. Test this both with KDE3 and KDE4.
|
|
./vg-in-place --tool=drd --var-info=yes kate
|
|
./vg-in-place --tool=drd --var-info=yes --check-stack-var=yes kate
|
|
./vg-in-place --tool=drd --var-info=yes --trace-children=yes knode
|
|
./vg-in-place --tool=drd --var-info=yes --check-stack-var=yes --trace-children=yes knode
|
|
./vg-in-place --tool=drd --var-info=yes --check-stack-var=yes /usr/bin/designer
|
|
8. Test whether DRD works with standard GNOME applications. Expect
|
|
race reports triggered by ORBit_RootObject_duplicate() and after
|
|
having closed the GNOME terminal window:
|
|
./vg-in-place --tool=drd --var-info=yes --trace-children=yes gnome-terminal
|
|
9. Test DRD with Firefox. First of all, make sure that Valgrind is patched
|
|
such that it supports libjemalloc.so:
|
|
drd/scripts/add-libjemalloc-support
|
|
Next, build and install Firefox 3:
|
|
drd/scripts/download-and-build-firefox
|
|
Now run the following command:
|
|
LD_LIBRARY_PATH=$HOME/software/mozilla-build/dist/lib: ./vg-in-place --tool=drd --check-stack-var=yes --trace-children=yes $HOME/software/mozilla-build/dist/bin/firefox-bin
|