| How to test DRD |
| ~~~~~~~~~~~~~~~ |
| |
| 1. Run the regression tests. After having compiled DRD, run the following |
| command: |
| perl tests/vg_regtest drd |
| 2. Run Konstantin's regression tests: |
| svn checkout http://data-race-test.googlecode.com/svn/trunk drt |
| make -C drt/unittest -s build |
| ./vg-in-place --tool=drd --check-stack-var=yes drt/unittest/racecheck_unittest 2>&1|less |
| 3. 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). |
| 4. 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 |
| 5. 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 |
| 6. 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 |