new-run-webkit-tests should support --leaks
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Jul 2011 09:25:46 +0000 (09:25 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Jul 2011 09:25:46 +0000 (09:25 +0000)
commita713694420f52f9f55f9d585912df94c90256041
treea83f7edb4ad74f8a33baa6ed1ac15056476b9e08
parentc34c927e5a8bfedf56535f27ff978f959a215fc4
new-run-webkit-tests should support --leaks
https://bugs.webkit.org/show_bug.cgi?id=63832

Reviewed by Dirk Pranke.

This may not be sufficient to actually transition over the leaks bot,
but this is a huge step in the right direction.

I had to make parse-malloc-history understand being passed more than
one file (to avoid the silly cat | nonsense in old-run-webkit-tests).

I removed some dead code relating to previous iterations of our crash detection.

I created a new class "LeakDetector" to encapsulate all this logic.
Eventually we should consider pulling that class out of mac.py and
sharing with other ports.  However given that ORWT has had
--leaks support on Mac for almost 7 years and no other port has added
it, leaves me to believe we're in no rush to move LeakDetector.

I've tested --leaks locally.  I suspect there are more bugs to shake out
but it seems to work well enough to start.

I also added support for --guard-malloc, but have not tested it much.  It
should be viewed as experimental at this time.

I also fixed various os.path uses to self._filesystem as I was reading
through the various files to understand how best to fix this bug.

* Scripts/old-run-webkit-tests:
(parseLeaksandPrintUniqueLeaks):
* Scripts/parse-malloc-history:
(main):
* Scripts/webkitpy/common/system/crashlogs.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/controllers/worker.py:
* Scripts/webkitpy/layout_tests/port/base.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
* Scripts/webkitpy/layout_tests/port/gtk.py:
* Scripts/webkitpy/layout_tests/port/mac.py:
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
* Scripts/webkitpy/layout_tests/port/server_process.py:
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@91245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
Tools/ChangeLog
Tools/Scripts/old-run-webkit-tests
Tools/Scripts/parse-malloc-history
Tools/Scripts/webkitpy/common/system/crashlogs.py
Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
Tools/Scripts/webkitpy/layout_tests/controllers/worker.py
Tools/Scripts/webkitpy/layout_tests/port/base.py
Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py
Tools/Scripts/webkitpy/layout_tests/port/gtk.py
Tools/Scripts/webkitpy/layout_tests/port/mac.py
Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/server_process.py
Tools/Scripts/webkitpy/layout_tests/port/server_process_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/webkit.py
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
Tools/Scripts/webkitpy/layout_tests/views/printing.py