1. 24 Aug, 2010 1 commit
    • eric@webkit.org's avatar
      2010-08-24 Eric Seidel <eric@webkit.org> · 95f68a53
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              commit-queue and EWS bots should report all failures
              https://bugs.webkit.org/show_bug.cgi?id=41820
      
              Right now commit-queue/EWS only report failures when the
              patch under testing fails.  We should report all failures
              to the status server so that we can diagnose when the bots
              are wedged w/o needing to log into the machines.
      
              I also reduced the amount of data we upload since we've seen
              timeouts during status upload.
      
              * Scripts/webkitpy/common/system/executive.py:
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95f68a53
  2. 25 Jun, 2010 1 commit
  3. 10 Jun, 2010 1 commit
  4. 09 Jun, 2010 2 commits
  5. 03 Jun, 2010 1 commit
    • ojan@chromium.org's avatar
      2010-05-14 Ojan Vafai <ojan@chromium.org> · c29fb64a
      ojan@chromium.org authored
              Reviewed by Adam Barth.
      
              add a RietveldUploadQueue to upload in-rietveld? patches to rietveld
              https://bugs.webkit.org/show_bug.cgi?id=38918
      
              Patches with in-rietveld? get uploaded to rietveld and get marked
              in-rietveld+. If the upload fails, they are marked in-rietveld-
              and an error is logged to the bug, like the commit-queue.
      
              Also, get rid of --fancy-review and the ability to upload to rietveld
              using webkit-patch upload/post.
      
              * Scripts/webkitpy/common/net/bugzilla.py:
              * Scripts/webkitpy/common/net/bugzilla_unittest.py:
              * Scripts/webkitpy/tool/commands/download.py:
              * Scripts/webkitpy/tool/commands/download_unittest.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/commands/upload_unittest.py:
              * Scripts/webkitpy/tool/mocktool.py:
              * Scripts/webkitpy/tool/steps/options.py:
              * Scripts/webkitpy/tool/steps/postcodereview.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c29fb64a
  6. 21 May, 2010 1 commit
    • eric@webkit.org's avatar
      2010-05-21 Eric Seidel <eric@webkit.org> · 5c400bed
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Make the EWSes report queue position in white bubbles
              https://bugs.webkit.org/show_bug.cgi?id=39519
      
              This also fixes sorting of commit-queue patches
              to be in order of patch attachment.
              https://bugs.webkit.org/show_bug.cgi?id=33395
      
              This makes the various Queues post what patches they are about to process
              so that we can display a list of patches on status server pages, as well
              as report queue position in status bubbles.
      
              This is the first step towards creating a control-channel for the queues.
              Next step will be to have them read back the patches in order from the server
              and finally we will add the ability for the server to control that order.
      
              * Scripts/webkitpy/common/net/bugzilla.py:
               - Teach bugzilla how to parse attach_date for attachments.
              * Scripts/webkitpy/common/net/bugzilla_unittest.py:
               - Test that we're parsing dates correctly.
                 This may have timezone issues for non-PST contributers, unsure.
              * Scripts/webkitpy/common/net/statusserver.py:
               - Post work items to the status server for display.
              * Scripts/webkitpy/tool/bot/patchcollection.py:
               - Call StatusServer.update_work_items
              * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
               - Update unit test results now that we're posting work item list.
              * Scripts/webkitpy/tool/commands/queues.py:
               - Call StatusSever.update_work_items
               - Sort patches so that the server's list understands
                 that the commit-queue gives priority to rollout patches.
               - I also fixed patch sorting per bug 33395 while I was here.
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
               - Update results after update_work_items changes.
               - Test attachment sorting.
              * Scripts/webkitpy/tool/mocktool.py:
               - Add mock for update_work_items
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c400bed
  7. 11 May, 2010 1 commit
    • eric@webkit.org's avatar
      2010-05-11 Eric Seidel <eric@webkit.org> · 505a89ce
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              commit-queue should commit rollouts without running tests
              https://bugs.webkit.org/show_bug.cgi?id=38940
      
              Most of this change is improving our test coverage for the commit-queue.
              The only functional change is removing the --test flag when the commit-queue
              is running in rollouts mode.
      
              I added test coverage for status updates, and updated the commit-queue status
              messages to distinguish rollout vs. normal landing mode in its empty queue
              and land patch messages.
      
              * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
               - Got rid of a bunch of copy/paste code using _default_expected_stderr
              * Scripts/webkitpy/tool/commands/queues.py:
               - Moved rollout patch filtering out of _validate_patches_in_commit_queue
                 so that we only have to check if the builders are green in one place.
               - Make the "empty queue" message note which queue it is referring to.
               - Don't pass --text to land-attachment when in rollout mode.
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
               - Update results now that we're testing status updates.
               - Test _can_build_and_test since I made a typo in that call while
                 writing this change and the unit tests failed to catch it!
              * Scripts/webkitpy/tool/mocktool.py:
               - Log status updates to make them testable in our unit tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      505a89ce
  8. 21 Apr, 2010 3 commits
    • eric@webkit.org's avatar
      2010-04-21 Eric Seidel <eric@webkit.org> · 3a1ffd8f
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
              https://bugs.webkit.org/show_bug.cgi?id=37765
      
              Third time is the charm.  I've fixed all the
              new-run-webkit-tests regressions from previous attempts.
      
              I fixed the queue to not ignore Tor as a reviwer in r57531,
              but instead it throws an exception every time his name is in a patch.
      
              This fixes our Executive.run_command code to work around a Popen
              bug http://bugs.python.org/issue5290 whereby python versions before 2.6
              do not correctly handle unicode objects as input or output to
              Popen.communicate.
      
              Following the advice of:
              http://farmdev.com/talks/unicode/
              I have changed all of webkitpy to use unicode() objects as strings
              instead of str objects (which in Python 3 are renamed "bytes").
      
              String literals were left as "foo" instead of converting to u"foo"
              as u"foo" is only required if the string has a non-ascii code point.
              Python is smart about comparing str() and unicode() values and will
              log an error to the console if the comparison is ever invalid.
      
              Executive.run* now correctly accept and return unicode() objects.
              I attempted to fix all the places that we call .write() to make sure we
              encode any unicode() objects into utf-8.
      
              I removed several uses of StringIO.  StringIO should generally always be
              passed a unicode() value.
      
              Likewise I replaced most calls to open() with codecs.open().
              codecs.open() matches Python 3 open semantics in requiring an encoding
              parameter.  Files opened with codecs.open() with a unicode-compatible
              encoding will vend unicode() objects from their read() calls, like how
              StringIO created with a unicode() object will do.
      
              I also deployed "with" statements wider (now that the project has
              settled on Python 2.5) to close a bunch of file descriptor leaks.
      
              * Scripts/webkitpy/common/checkout/api_unittest.py:
               - Read/write utf-8 files instead of ascii.
               - Update the tests to use test for proper unicode() handling.
              * Scripts/webkitpy/common/checkout/changelog.py:
               - Document that parse_latest_entry_from_file expects
                 file-like objects which return unicode strings.
              * Scripts/webkitpy/common/checkout/changelog_unittest.py:
               - Use unicode() strings instead of str() byte arrays.
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/common/checkout/commitinfo.py:
               - Remove unneeded import.
              * Scripts/webkitpy/common/checkout/scm.py:
               - Remove use of str().
              * Scripts/webkitpy/common/checkout/scm_unittest.py:
               - Read/write utf-8 files and use unicode() strings in testing.
              * Scripts/webkitpy/common/config/committers.py:
               - Use \u instead of \x to make slightly clearer what we're doing.
              * Scripts/webkitpy/common/net/bugzilla.py:
               - Add a new _string_contents() method and explain why
                  we have to call unicode() on the result of soup.string
                  and why it's safe to do so w/o needing to pass a codec name.
                - Remove the (unused) support for passing a file object to add_patch_to_bug().
              * Scripts/webkitpy/common/net/buildbot.py:
               - Use unicode() instead of str() when needing to coax a
                  NavigableString object into a unicode() object.
              * Scripts/webkitpy/common/net/buildbot_unittest.py:
               - Add a test which contains a unicode builder name.
              * Scripts/webkitpy/common/net/statusserver.py:
               - Remove use of str()
              * Scripts/webkitpy/common/prettypatch.py:
               - Write out the patch file as utf-8.
              * Scripts/webkitpy/common/system/autoinstall.py:
               - Write out files with a explicit encodings.
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/common/system/deprecated_logging.py:
               - Write out log files as utf-8.
              * Scripts/webkitpy/common/system/executive.py:
               - Make run* properly take and return unicode() objects.
               - Cleaned up input handling in run_command a little by adding
                 a _compute_input() method which can return early instead of having
                 such a long/cluttered if-block.
              * Scripts/webkitpy/common/system/executive_unittest.py:
               - Added a unit test to make sure we don't break Tor again!
              * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
               - Write out the test list as utf-8.
              * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
               - Write out json files as utf-8.
              * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
              * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
              * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
              * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
              * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
              * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
               - Make the skipped file parsing test unicode.
              * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
              * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
              * Scripts/webkitpy/layout_tests/port/webkit.py:
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/layout_tests/port/websocket_server.py:
               - Make explicit the encodings of log files and pid files.
              * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
               - Make encodings explicit and deploy "with".
              * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
              * Scripts/webkitpy/style/filereader_unittest.py: ditto.
              * Scripts/webkitpy/thirdparty/__init__.py: ditto.
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
               - Removed extra import.
              * Scripts/webkitpy/tool/commands/queues.py:
               - No need to map args to strings now that run_command does.
               - Update test results to match args changes.
               - Document our global argument hacks.
              * Scripts/webkitpy/tool/commands/upload.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/mocktool.py:
               - Rename add_patch_to_bug argument to match bugzilla.py
              * Scripts/webkitpy/tool/steps/abstractstep.py:
               - Executive.run_* now require lists instead of strings.
                 The lack of this change was what broke webkit-patch
                 for svn users the first time this was landed.
              * Scripts/webkitpy/tool/steps/postdiff.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
               - Fixed spurious logging seen when running test-webkitpy
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@58036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a1ffd8f
    • eric@webkit.org's avatar
      2010-04-21 Eric Seidel <eric@webkit.org> · f0b0773b
      eric@webkit.org authored
              Unreviewed.  Rolling out unicode() changes as they broke NRWT for chromium.
              Rolling out:
              http://trac.webkit.org/changeset/58014
              http://trac.webkit.org/changeset/58016
              http://trac.webkit.org/changeset/58020
      
              REGRESSION(57531): the commit-queue still hates Tor Arne Vestbo
              https://bugs.webkit.org/show_bug.cgi?id=37765
      
              * Scripts/webkitpy/common/checkout/api_unittest.py:
              * Scripts/webkitpy/common/checkout/changelog.py:
              * Scripts/webkitpy/common/checkout/changelog_unittest.py:
              * Scripts/webkitpy/common/checkout/commitinfo.py:
              * Scripts/webkitpy/common/checkout/scm.py:
              * Scripts/webkitpy/common/checkout/scm_unittest.py:
              * Scripts/webkitpy/common/config/committers.py:
              * Scripts/webkitpy/common/net/bugzilla.py:
              * Scripts/webkitpy/common/net/buildbot.py:
              * Scripts/webkitpy/common/net/buildbot_unittest.py:
              * Scripts/webkitpy/common/net/statusserver.py:
              * Scripts/webkitpy/common/prettypatch.py:
              * Scripts/webkitpy/common/system/autoinstall.py:
              * Scripts/webkitpy/common/system/deprecated_logging.py:
              * Scripts/webkitpy/common/system/executive.py:
              * Scripts/webkitpy/common/system/executive_unittest.py:
              * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
              * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
              * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
              * Scripts/webkitpy/layout_tests/port/chromium.py:
              * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
              * Scripts/webkitpy/layout_tests/port/chromium_mac.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/qt.py:
              * Scripts/webkitpy/layout_tests/port/server_process.py:
              * Scripts/webkitpy/layout_tests/port/webkit.py:
              * Scripts/webkitpy/layout_tests/port/websocket_server.py:
              * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
              * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
              * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
              * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
              * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
              * Scripts/webkitpy/style/filereader_unittest.py:
              * Scripts/webkitpy/thirdparty/__init__.py:
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/mocktool.py:
              * Scripts/webkitpy/tool/steps/abstractstep.py:
              * Scripts/webkitpy/tool/steps/postdiff.py:
              * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@58023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0b0773b
    • eric@webkit.org's avatar
      2010-04-21 Eric Seidel <eric@webkit.org> · cd0d6ae4
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
              https://bugs.webkit.org/show_bug.cgi?id=37765
      
              I fixed the queue to not ignore Tor as a reviwer in r57531,
              but instead it throws an exception every time his name is in a patch.
      
              This fixes our Executive.run_command code to work around a Popen
              bug http://bugs.python.org/issue5290 whereby python versions before 2.6
              do not correctly handle unicode objects as input or output to
              Popen.communicate.
      
              Following the advice of:
              http://farmdev.com/talks/unicode/
              I have changed all of webkitpy to use unicode() objects as strings
              instead of str objects (which in Python 3 are renamed "bytes").
      
              String literals were left as "foo" instead of converting to u"foo"
              as u"foo" is only required if the string has a non-ascii code point.
              Python is smart about comparing str() and unicode() values and will
              log an error to the console if the comparison is ever invalid.
      
              Executive.run* now correctly accept and return unicode() objects.
              I attempted to fix all the places that we call .write() to make sure we
              encode any unicode() objects into utf-8.
      
              I removed several uses of StringIO.  StringIO should generally always be
              passed a unicode() value.
      
              Likewise I replaced most calls to open() with codecs.open().
              codecs.open() matches Python 3 open semantics in requiring an encoding
              parameter.  Files opened with codecs.open() with a unicode-compatible
              encoding will vend unicode() objects from their read() calls, like how
              StringIO created with a unicode() object will do.
      
              I also deployed "with" statements wider (now that the project has
              settled on Python 2.5) to close a bunch of file descriptor leaks.
      
              * Scripts/webkitpy/common/checkout/api_unittest.py:
               - Read/write utf-8 files instead of ascii.
               - Update the tests to use test for proper unicode() handling.
              * Scripts/webkitpy/common/checkout/changelog.py:
               - Document that parse_latest_entry_from_file expects
                 file-like objects which return unicode strings.
              * Scripts/webkitpy/common/checkout/changelog_unittest.py:
               - Use unicode() strings instead of str() byte arrays.
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/common/checkout/commitinfo.py:
               - Remove unneeded import.
              * Scripts/webkitpy/common/checkout/scm.py:
               - Remove use of str().
              * Scripts/webkitpy/common/checkout/scm_unittest.py:
               - Read/write utf-8 files and use unicode() strings in testing.
              * Scripts/webkitpy/common/config/committers.py:
               - Use \u instead of \x to make slightly clearer what we're doing.
              * Scripts/webkitpy/common/net/bugzilla.py:
               - Add a new _string_contents() method and explain why
                  we have to call unicode() on the result of soup.string
                  and why it's safe to do so w/o needing to pass a codec name.
                - Remove the (unused) support for passing a file object to add_patch_to_bug().
              * Scripts/webkitpy/common/net/buildbot.py:
               - Use unicode() instead of str() when needing to coax a
                  NavigableString object into a unicode() object.
              * Scripts/webkitpy/common/net/buildbot_unittest.py:
               - Add a test which contains a unicode builder name.
              * Scripts/webkitpy/common/net/statusserver.py:
               - Remove use of str()
              * Scripts/webkitpy/common/prettypatch.py:
               - Write out the patch file as utf-8.
              * Scripts/webkitpy/common/system/autoinstall.py:
               - Write out files with a explicit encodings.
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/common/system/deprecated_logging.py:
               - Write out log files as utf-8.
              * Scripts/webkitpy/common/system/executive.py:
               - Make run* properly take and return unicode() objects.
               - Cleaned up input handling in run_command a little by adding
                 a _compute_input() method which can return early instead of having
                 such a long/cluttered if-block.
              * Scripts/webkitpy/common/system/executive_unittest.py:
               - Added a unit test to make sure we don't break Tor again!
              * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
               - Write out the test list as utf-8.
              * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
               - Write out json files as utf-8.
              * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
              * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
              * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
              * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
              * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
              * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
               - Make the skipped file parsing test unicode.
              * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
              * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
              * Scripts/webkitpy/layout_tests/port/webkit.py:
               - Deploy "with" to close file descriptor leaks.
              * Scripts/webkitpy/layout_tests/port/websocket_server.py:
               - Make explicit the encodings of log files and pid files.
              * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
               - Make encodings explicit and deploy "with".
              * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
              * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
              * Scripts/webkitpy/style/filereader_unittest.py: ditto.
              * Scripts/webkitpy/thirdparty/__init__.py: ditto.
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
               - Removed extra import.
              * Scripts/webkitpy/tool/commands/queues.py:
               - No need to map args to strings now that run_command does.
               - Update test results to match args changes.
               - Document our global argument hacks.
              * Scripts/webkitpy/tool/commands/upload.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/mocktool.py:
               - Rename add_patch_to_bug argument to match bugzilla.py
              * Scripts/webkitpy/tool/steps/abstractstep.py:
               - Executive.run_* now require lists instead of strings.
                 The lack of this change was what broke webkit-patch
                 for svn users the first time this was landed.
              * Scripts/webkitpy/tool/steps/postdiff.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
               - Fixed spurious logging seen when running test-webkitpy
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@58014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd0d6ae4
  9. 20 Apr, 2010 2 commits
    • eric@webkit.org's avatar
      2010-04-20 Eric Seidel <eric@webkit.org> · f66d6b92
      eric@webkit.org authored
              Unreviewed, rolling out r57907.
              http://trac.webkit.org/changeset/57907
              https://bugs.webkit.org/show_bug.cgi?id=37765
      
              Appears to have broken MacEWS and possibly webkit-patch upload
              for svn users.  Needs further investigation.
      
              * Scripts/webkitpy/common/checkout/api.py:
              * Scripts/webkitpy/common/checkout/api_unittest.py:
              * Scripts/webkitpy/common/checkout/changelog.py:
              * Scripts/webkitpy/common/checkout/changelog_unittest.py:
              * Scripts/webkitpy/common/checkout/commitinfo.py:
              * Scripts/webkitpy/common/checkout/scm.py:
              * Scripts/webkitpy/common/checkout/scm_unittest.py:
              * Scripts/webkitpy/common/config/committers.py:
              * Scripts/webkitpy/common/net/bugzilla.py:
              * Scripts/webkitpy/common/net/buildbot.py:
              * Scripts/webkitpy/common/net/buildbot_unittest.py:
              * Scripts/webkitpy/common/net/statusserver.py:
              * Scripts/webkitpy/common/prettypatch.py:
              * Scripts/webkitpy/common/system/autoinstall.py:
              * Scripts/webkitpy/common/system/deprecated_logging.py:
              * Scripts/webkitpy/common/system/executive.py:
              * Scripts/webkitpy/common/system/executive_unittest.py:
              * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
              * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
              * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
              * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/mocktool.py:
              * Scripts/webkitpy/tool/steps/abstractstep.py:
              * Scripts/webkitpy/tool/steps/postdiff.py:
              * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f66d6b92
    • eric@webkit.org's avatar
      2010-04-20 Eric Seidel <eric@webkit.org> · 212b0878
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
              https://bugs.webkit.org/show_bug.cgi?id=37765
      
              I fixed the queue to not ignore Tor as a reviwer in r57531,
              but instead it throws an exception every time his name is in a patch.
      
              This fixes our Executive.run_command code to work around a Popen
              bug http://bugs.python.org/issue5290 whereby python versions before 2.6
              do not correctly handle unicode objects as input or output to
              Popen.communicate.
      
              Following the advice of:
              http://farmdev.com/talks/unicode/
              I'm attempting to take the python unicode plunge and use unicode()
              objects as strings instead of str() objects everywhere in webkitpy.
      
              We do not have to use u"" instead of "" because u"a" == "a" as expected
              in Python.  Python will generate a warning to the console in cases where
              a unicode() == str() operation cannot be performed.
      
              I also cleaned up the input handling in run_command a little by adding
              a new _compute_input() method which can return early instead of having
              such a long/cluttered if-block.
      
              Executive.run* now correctly accept and return unicode() objects.
              I attempted to fix all the places that we call .write() to make sure we
              encode any unicode() objects into utf-8.
      
              All places which use StringIO need to be sure to pass StringIO a
              pre-encoded byte-array (str object) instead of unicode so that
              clients which read from the StringIO don't have encoding exceptions.
              To make this easier, I removed the patch_file_object support from
              add_patch_to_bug, and changed the 4 places which previously used
              StringIO to create a fake patch file.
      
              I attempted to document any places where we are not correctly converting
              to/from bytes (str() objects) to strings (unicode() objects).
      
              * Scripts/webkitpy/common/checkout/api_unittest.py:
               - Read/write utf-8 files instead of ascii.
               - Update the tests to use test for proper unicode() handling.
              * Scripts/webkitpy/common/checkout/changelog_unittest.py:
               - Use unicode() strings instead of str() byte arrays.
              * Scripts/webkitpy/common/checkout/scm.py:
               - Remove use of str().
              * Scripts/webkitpy/common/checkout/scm_unittest.py:
               - Read/write utf-8 files and use unicode() strings in testing.
              * Scripts/webkitpy/common/config/committers.py:
               - Use \u instead of \x to make slightly clearer what we're doing.
              * Scripts/webkitpy/common/net/bugzilla.py:
               - Add a new _string_contents() method and explain why
                 we have to call unicode() on the result of soup.string
                 and why it's safe to do so w/o needing to pass a codec name.
               - Remove the (unused) support for passing a file object to add_patch_to_bug().
              * Scripts/webkitpy/common/net/buildbot.py:
               - Use unicode() instead of str() when needing to coax a
                 NavigableString object into a unicode() object.
              * Scripts/webkitpy/common/net/statusserver.py:
               - Remove use of str()
              * Scripts/webkitpy/common/prettypatch.py:
               - Write out the patch file as utf-8.
              * Scripts/webkitpy/common/system/autoinstall.py:
               - Add a FIXME about encoding.
              * Scripts/webkitpy/common/system/deprecated_logging.py:
               - Document that tee() works on bytes, not strings.
              * Scripts/webkitpy/common/system/executive.py:
               - Make run* properly take and return unicode() objects.
              * Scripts/webkitpy/common/system/executive_unittest.py:
               - Added a unit test to make sure we don't break Tor again!
              * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
               - Write out the test list as utf-8.
              * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
               - Write out json files as utf-8.
              * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
               - Add FIXME about encoding handling.
              * Scripts/webkitpy/tool/commands/upload.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/mocktool.py:
               - Rename add_patch_to_bug argument to match bugzilla.py
              * Scripts/webkitpy/tool/steps/postdiff.py:
               - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
              * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto.
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto.
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
               - Fixed spurious logging seen when running test-webkitpy
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      212b0878
  10. 17 Apr, 2010 1 commit
    • eric@webkit.org's avatar
      2010-04-17 Adam Barth <abarth@webkit.org> · 935803a7
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              Remove steps_references and commands_references
              https://bugs.webkit.org/show_bug.cgi?id=37758
      
              We tried using the mumble_references convention to manage our
              dependencies, but it doesn't seem to be providing much value for the
              steps and commands module because these modules are small pieces of the
              larger tool module.  In this patch, I've removed the references file
              for these modules.
      
              I've left the style_references file for the style module because that
              module seems better isolated from the rest of webkitpy and the
              style_references file appears to be providing some value.
      
              * Scripts/webkitpy/tool/commands/commandtest.py:
              * Scripts/webkitpy/tool/commands/download_unittest.py:
              * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
              * Scripts/webkitpy/tool/commands/queries_unittest.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/queuestest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/commands/upload_unittest.py:
              * Scripts/webkitpy/tool/commands_references.py: Removed.
              * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
              * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
              * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py:
              * Scripts/webkitpy/tool/steps_references.py: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      935803a7
  11. 13 Apr, 2010 1 commit
    • ojan@chromium.org's avatar
      2010-04-13 Ojan Vafai <ojan@chromium.org> · 3db506a6
      ojan@chromium.org authored
              Reviewed by David Levin.
      
              Add experimental prototype Rietveld integration to webkit-patch upload
              https://bugs.webkit.org/show_bug.cgi?id=37418
      
              This patch adds bare-bones integrtion with Rietveld for code reviews.
              The behavior is hidden behind the --fancy-review command line flag.
              Currently, there's no support for uploading more than one patch per
              issue (which is a nice feature of Rietveld).  The plan is to play with
              this for a bit and see if it's useful.
      
              Modified from Adam's original patch to autoinstall the rietveld upload script.
      
              * Scripts/webkitpy/common/config/__init__.py:
              * Scripts/webkitpy/common/net/rietveld.py: Added.
              * Scripts/webkitpy/common/net/rietveld_unitttest.py: Added.
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/commands/upload_unittest.py:
              *...
      3db506a6
  12. 11 Apr, 2010 1 commit
  13. 10 Apr, 2010 1 commit
    • abarth@webkit.org's avatar
      2010-04-10 Ojan Vafai <ojan@chromium.org> · 06bafa0c
      abarth@webkit.org authored
              Reviewed by Adam Barth.
      
              webkit-patch land should not build and test by default
              https://bugs.webkit.org/show_bug.cgi?id=33631
      
              Reverse the sense of --no-build and --no-test to be --build and --test.
              Also, decoupled the build and test options so you can test without
              building.
      
              (Patch manngled by Adam Barth.  All bugs are his fault.)
      
              * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/steps/options.py:
              * Scripts/webkitpy/tool/steps/runtests.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06bafa0c
  14. 02 Apr, 2010 1 commit
  15. 25 Mar, 2010 5 commits
    • abarth@webkit.org's avatar
      2010-03-25 Adam Barth <abarth@webkit.org> · c1ac376b
      abarth@webkit.org authored
              Unreviewed.  Move OutputCapture to webkitpy.common.system.
              https://bugs.webkit.org/show_bug.cgi?id=36093
      
              * Scripts/webkitpy/common/net/bugzilla_unittest.py:
              * Scripts/webkitpy/common/net/credentials_unittest.py:
              * Scripts/webkitpy/common/system/outputcapture.py: Copied from Scripts/webkitpy/outputcapture.py.
              * Scripts/webkitpy/outputcapture.py: Removed.
              * Scripts/webkitpy/tool/commands/commandtest.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/queuestest.py:
              * Scripts/webkitpy/tool/multicommandtool_unittest.py:
              * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
              * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1ac376b
    • abarth@webkit.org's avatar
      2010-03-25 Adam Barth <abarth@webkit.org> · 9fad24e5
      abarth@webkit.org authored
              Unreviewed.
      
              Create webkitpy.common.net as described in
              https://bugs.webkit.org/show_bug.cgi?id=36093
      
              * Scripts/webkitpy/bugzilla.py: Removed.
              * Scripts/webkitpy/bugzilla_unittest.py: Removed.
              * Scripts/webkitpy/buildbot.py: Removed.
              * Scripts/webkitpy/buildbot_unittest.py: Removed.
              * Scripts/webkitpy/commitinfo.py:
              * Scripts/webkitpy/common/net: Added.
              * Scripts/webkitpy/common/net/__init__.py: Added.
              * Scripts/webkitpy/common/net/bugzilla.py: Copied from Scripts/webkitpy/bugzilla.py.
              * Scripts/webkitpy/common/net/bugzilla_unittest.py: Copied from Scripts/webkitpy/bugzilla_unittest.py.
              * Scripts/webkitpy/common/net/buildbot.py: Copied from Scripts/webkitpy/buildbot.py.
              * Scripts/webkitpy/common/net/buildbot_unittest.py: Copied from Scripts/webkitpy/buildbot_unittest.py.
              * Scripts/webkitpy/common/net/credentials.py: Copied from Scripts/webkitpy/credentials.py.
              * Scripts/webkitpy/common/net/credentials_unittest.py: Copied from Scripts/webkitpy/credentials_unittest.py.
              * Scripts/webkitpy/common/net/irc: Copied from Scripts/webkitpy/irc.
              * Scripts/webkitpy/common/net/irc/ircbot.py:
              * Scripts/webkitpy/common/net/irc/ircproxy.py:
              * Scripts/webkitpy/common/net/irc/messagepump_unittest.py:
              * Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py:
              * Scripts/webkitpy/common/net/irc/unittests.py:
              * Scripts/webkitpy/common/net/networktransaction.py: Copied from Scripts/webkitpy/networktransaction.py.
              * Scripts/webkitpy/common/net/networktransaction_unittest.py: Copied from Scripts/webkitpy/networktransaction_unittest.py.
              * Scripts/webkitpy/common/net/statusserver.py: Copied from Scripts/webkitpy/statusserver.py.
              * Scripts/webkitpy/credentials.py: Removed.
              * Scripts/webkitpy/credentials_unittest.py: Removed.
              * Scripts/webkitpy/irc: Removed.
              * Scripts/webkitpy/irc/__init__.py: Removed.
              * Scripts/webkitpy/irc/ircbot.py: Removed.
              * Scripts/webkitpy/irc/ircproxy.py: Removed.
              * Scripts/webkitpy/irc/messagepump.py: Removed.
              * Scripts/webkitpy/irc/messagepump_unittest.py: Removed.
              * Scripts/webkitpy/irc/threadedmessagequeue.py: Removed.
              * Scripts/webkitpy/irc/threadedmessagequeue_unittest.py: Removed.
              * Scripts/webkitpy/irc/unittests.py: Removed.
              * Scripts/webkitpy/networktransaction.py: Removed.
              * Scripts/webkitpy/networktransaction_unittest.py: Removed.
              * Scripts/webkitpy/scm_unittest.py:
              * Scripts/webkitpy/statusserver.py: Removed.
              * Scripts/webkitpy/tool/bot/queueengine.py:
              * Scripts/webkitpy/tool/commands/download.py:
              * Scripts/webkitpy/tool/commands/queries.py:
              * Scripts/webkitpy/tool/commands/queries_unittest.py:
              * Scripts/webkitpy/tool/commands/queues.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/queuestest.py:
              * Scripts/webkitpy/tool/commands/upload.py:
              * Scripts/webkitpy/tool/main.py:
              * Scripts/webkitpy/tool/mocktool.py:
              * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
              * Scripts/webkitpy/unittests.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fad24e5
    • cjerdonek@webkit.org's avatar
      In webkitpy, renamed MockBugzillaTool to MockTool. · be166968
      cjerdonek@webkit.org authored
      Reviewed by Adam Barth.
      
      * Scripts/webkitpy/tool/commands/commandtest.py:
      * Scripts/webkitpy/tool/commands/queries_unittest.py:
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      * Scripts/webkitpy/tool/commands/queuestest.py:
      * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
      * Scripts/webkitpy/tool/commands/upload_unittest.py:
      * Scripts/webkitpy/tool/mocktool.py:
      * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
      * Scripts/webkitpy/tool/steps/steps_unittest.py:
      * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be166968
    • abarth@webkit.org's avatar
      2010-03-25 Adam Barth <abarth@webkit.org> · e6a80c6d
      abarth@webkit.org authored
              Unreviewed.  Move mock_bugzillatool.py to tool/mocktool.py.
      
              * Scripts/webkitpy/mock_bugzillatool.py: Removed.
              * Scripts/webkitpy/tool/commands/commandtest.py:
              * Scripts/webkitpy/tool/commands/queries_unittest.py:
              * Scripts/webkitpy/tool/commands/queues_unittest.py:
              * Scripts/webkitpy/tool/commands/queuestest.py:
              * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
              * Scripts/webkitpy/tool/commands/upload_unittest.py:
              * Scripts/webkitpy/tool/mocktool.py: Copied from Scripts/webkitpy/mock_bugzillatool.py.
              * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
              * Scripts/webkitpy/tool/steps/steps_unittest.py:
              * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6a80c6d
    • cjerdonek@webkit.org's avatar
      In Scripts/webkitpy, moved commands_references.py and the commands · 4d7c5781
      cjerdonek@webkit.org authored
      folder into webkitpy/patch.
      
      Reviewed by Adam Barth.
      
      https://bugs.webkit.org/show_bug.cgi?id=36483
      
      This is part of master bug 36093 to organize webkitpy.
      
      * Scripts/webkitpy/commands: Removed.
      * Scripts/webkitpy/commands/__init__.py: Removed.
      * Scripts/webkitpy/commands/abstractsequencedcommand.py: Removed.
      * Scripts/webkitpy/commands/commandtest.py: Removed.
      * Scripts/webkitpy/commands/download.py: Removed.
      * Scripts/webkitpy/commands/download_unittest.py: Removed.
      * Scripts/webkitpy/commands/early_warning_system.py: Removed.
      * Scripts/webkitpy/commands/early_warning_system_unittest.py: Removed.
      * Scripts/webkitpy/commands/openbugs.py: Removed.
      * Scripts/webkitpy/commands/openbugs_unittest.py: Removed.
      * Scripts/webkitpy/commands/queries.py: Removed.
      * Scripts/webkitpy/commands/queries_unittest.py: Removed.
      * Scripts/webkitpy/commands/queues.py: Removed.
      * Scripts/webkitpy/commands/queues_unittest.py: Removed.
      * Scripts/webkitpy/commands/queuestest.py: Removed.
      * Scripts/webkitpy/commands/sheriffbot.py: Removed.
      * Scripts/webkitpy/commands/sheriffbot_unittest.py: Removed.
      * Scripts/webkitpy/commands/upload.py: Removed.
      * Scripts/webkitpy/commands/upload_unittest.py: Removed.
      * Scripts/webkitpy/commands_references.py: Removed.
      * Scripts/webkitpy/tool/commands: Copied from WebKitTools/Scripts/webkitpy/commands.
      * Scripts/webkitpy/tool/commands/commandtest.py:
      * Scripts/webkitpy/tool/commands/download.py:
      * Scripts/webkitpy/tool/commands/download_unittest.py:
      * Scripts/webkitpy/tool/commands/early_warning_system.py:
      * Scripts/webkitpy/tool/commands/early_warning_system_unittest.py:
      * Scripts/webkitpy/tool/commands/openbugs_unittest.py:
      * Scripts/webkitpy/tool/commands/queries_unittest.py:
      * Scripts/webkitpy/tool/commands/queues_unittest.py:
      * Scripts/webkitpy/tool/commands/queuestest.py:
      * Scripts/webkitpy/tool/commands/sheriffbot.py:
      * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
      * Scripts/webkitpy/tool/commands/upload.py:
      * Scripts/webkitpy/tool/commands/upload_unittest.py:
      * Scripts/webkitpy/tool/commands_references.py: Copied from WebKitTools/Scripts/webkitpy/commands_references.py.
      * Scripts/webkitpy/tool/main.py:
      * Scripts/webkitpy/unittests.py:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d7c5781
  16. 18 Mar, 2010 1 commit
    • eric@webkit.org's avatar
      2010-03-18 Adam Barth <abarth@webkit.org> · 8c1ae61f
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              First cut at SheriffBot
              https://bugs.webkit.org/show_bug.cgi?id=36253
      
              This patch contains a first attempt at writing a sheriff bot.
              Currently, we're missing the logic that actually finds the SVN revision
              numbers to complain about, but once we have that, we'll have the rest
              of the infrustructure to ping IRC and to file bugs.
      
              There's a lot to fill in for the SheriffBot, but this patch give us the
              framework in which to do it.
      
              This patch required a bit of refactoring of AbstractQueue because
              SheriffBot is the first bot that doesn't process patches (it processes
              SVN revisions).  Accordingly, I've factored out AbstractPatchQueue to
              hold the parts of AbstractQueue that are specific to dealing with
              patches.  Some of the choices here might not be obvious yet, but we can
              tweak them as our needs become clearer.
      
              * Scripts/webkitpy/commands/queues.py:
              * Scripts/webkitpy/commands/queues_unittest.py:
              * Scripts/webkitpy/commands/sheriffbot.py: Added.
              * Scripts/webkitpy/commands/sheriffbot_unittest.py: Added.
              * Scripts/webkitpy/mock_bugzillatool.py:
                  Added a MockIRC object to the mock tool.
              * Scripts/webkitpy/multicommandtool.py:
                  Added a finalize method so the tool can disconnect from IRC
                  cleanly instead of just droping the socket.
              * Scripts/webkitpy/multicommandtool_unittest.py:
              * Scripts/webkitpy/patch/patcher.py:
                  Added support for talking to IRC.
              * Scripts/webkitpy/unittests.py:
                  We should add a commands/unittests.py file at some point to make
                  the commands module more self-contained.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c1ae61f
  17. 17 Mar, 2010 1 commit
    • eric@webkit.org's avatar
      2010-03-17 Eric Seidel <eric@webkit.org> · 58afae5c
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Add more infrastructure for sheriff-bot, including making what-broke more awesome
              https://bugs.webkit.org/show_bug.cgi?id=36254
      
              * Scripts/webkitpy/bugzilla.py:
               - Made the various URL methods return None when passed None.
              * Scripts/webkitpy/bugzilla_unittest.py:
               - Test that the url methods work as expected.
              * Scripts/webkitpy/buildbot.py:
               - Add a static Build.build_url so that its possible to generate a build url without a Build object.
               - Give users a URL in _fetch_xmlrpc_build_dictionary error message.
              * Scripts/webkitpy/changelogs.py:
               - Add a new ChangeLogEntry class to encapsulate entry-parsing logic.
               - Add is_path_to_changelog to greatly simplify SCM.modified_changelogs code.
               - Make ChangeLog.parse_latest_entry_from_file a public method.
              * Scripts/webkitpy/changelogs_unittest.py:
               - Add tests for new ChangeLog entry parsing.
              * Scripts/webkitpy/commands/queries.py:
               - Make "what-broke" not print "ok" builders, only failing ones.
               - Print much more information on failing builders, including links and authorship/reviewer information.
              * Scripts/webkitpy/commands/queues_unittest.py:
               - Use a fake_checkout path since fixing the cwd (as part of fixing scm_unittests.py) was breaking tests.
              * Scripts/webkitpy/mock_bugzillatool.py:
               - Move MockSCM away from using os.getcwd() as that was fragile (and wrong).
              * Scripts/webkitpy/patch/patcher.py:
               - Remove code which was broken now that this file has moved.
               - Code was also redundant now that SCM.find_checkout_root() exists.
              * Scripts/webkitpy/scm.py:
               - Greatly simplify modified_changelogs now that I understand list comprehensions.
               - Expect ChangeLogEntry objects instead of raw strings.
               - Add changed_files_for_revision, committer_email_for_revision and contents_at_revision
               - Add commit_with_message argument to all sites since someone half-added it before. :(
               - Get rid of copy/paste code using _status_regexp()
              * Scripts/webkitpy/scm_unittest.py:
               - Fix these tests!
               - Add new tests for new scm code.
               - Fix spelling of "awsome" to "awesome".
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58afae5c
  18. 15 Mar, 2010 1 commit
  19. 13 Mar, 2010 1 commit
    • cjerdonek@webkit.org's avatar
      Moved webkitpy/mock.py into webkitpy/thirdparty since it is · f6062b1c
      cjerdonek@webkit.org authored
      third-party code.
      
      Reviewed by Adam Barth.
      
      https://bugs.webkit.org/show_bug.cgi?id=35499
      
      Updated the import statement in all of the below except where noted.
      
      * Scripts/webkitpy/bugzilla_unittest.py:
      * Scripts/webkitpy/commands/commandtest.py:
      * Scripts/webkitpy/commands/download_unittest.py:
      * Scripts/webkitpy/commands/early_warning_system_unittest.py:
      * Scripts/webkitpy/commands/queries_unittest.py:
      * Scripts/webkitpy/commands/queues_unittest.py:
      * Scripts/webkitpy/commands/queuestest.py:
      * Scripts/webkitpy/commands/upload.py:
      * Scripts/webkitpy/commands/upload_unittest.py:
      * Scripts/webkitpy/commands_references.py: Added.
        - Added a file containing an absolute import of Mock so that
          the imports in the commands folder can import from this file
          (similar to style_references.py).  This helps limit the
          number of affected files in future refactorings.
      
      * Scripts/webkitpy/credentials_unittest.py:
      * Scripts/webkitpy/mock.py: Removed.
        - Moved to Scripts/webkitpy/thirdparty.
      
      * Scripts/webkitpy/mock_bugzillatool.py:
      * Scripts/webkitpy/patchcollection_unittest.py:
      * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py:
      * Scripts/webkitpy/steps/steps_unittest.py:
      * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py:
      * Scripts/webkitpy/steps_references.py: Added.
        - Added a file containing an absolute import of Mock so that
          the imports in the steps folder can import from this file
          (similar to style_references.py).  This helps limit the
          number of affected files in future refactorings.
      
      * Scripts/webkitpy/thirdparty/mock.py: Copied from WebKitTools/Scripts/webkitpy/mock.py.
        - Also eliminated trailing white space and carriage returns.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6062b1c
  20. 25 Feb, 2010 1 commit
    • abarth@webkit.org's avatar
      2010-02-25 Adam Barth <abarth@webkit.org> · cd4817a6
      abarth@webkit.org authored
              Reviewed by David Levin.
      
              EWS leaks memory slowly
              https://bugs.webkit.org/show_bug.cgi?id=35395
      
              The EWS bots leak memory very slowly.  If you run them for about a
              month, each one will take up around 1 GB of virutal memory.  If you run
              several of them on one machine, you'll eventually exhaust all available
              memory and grind the bots to a halt.
      
              This patch introduces a --exit-after-iteration option to the queues so
              that we run them for a finite amount of time.  Once they exit and
              restart, they'll reclaim the leaked memory.  I'm not sure how many
              iterations I'll end up running them for.  I'll need to sort that out
              operationally, but my initial guess is around 1000.
      
              * Scripts/webkitpy/commands/queues.py:
              * Scripts/webkitpy/commands/queues_unittest.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd4817a6
  21. 27 Jan, 2010 1 commit
    • eric@webkit.org's avatar
      2010-01-27 Eric Seidel <eric@webkit.org> · 7e9dacdd
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              webkit-patch needs an open-bugs command
              https://bugs.webkit.org/show_bug.cgi?id=30793
      
              * Scripts/test-webkitpy: import OpenBugsTest
              * Scripts/webkit-patch: import OpenBugs
              * Scripts/webkitpy/commands/download_unittest.py: don't import unittest
              * Scripts/webkitpy/commands/early_warning_system_unittest.py: ditto
              * Scripts/webkitpy/commands/queries_unittest.py: ditto
              * Scripts/webkitpy/commands/queues_unittest.py: ditto
              * Scripts/webkitpy/commands/upload_unittest.py: ditto
              * Scripts/webkitpy/mock_bugzillatool.py: log when user.open_url is called.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e9dacdd
  22. 21 Jan, 2010 1 commit
  23. 14 Jan, 2010 1 commit
    • eric@webkit.org's avatar
      2010-01-14 Eric Seidel <eric@webkit.org> · 64674696
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              REGRESSION(53133): commit-queue no longer rejects patches with invalid committers, instead it hangs
              https://bugs.webkit.org/show_bug.cgi?id=33638
      
              * Scripts/webkitpy/bugzilla.py:
               - Add Bug.id() to match Attachment.id()
               - Give Bug.reviewed_patches and commit_queued_patches the option to return patches with invalid committers/reviewers.
               - Add back a missing variable to _validate_setter_email found by the new unit tests!
              * Scripts/webkitpy/commands/queries.py:
               - Add FIXMEs about the commands being confusingly named.
              * Scripts/webkitpy/commands/queries_unittest.py:
               - Update results to reflect the newly restructured mock bug cache.
              * Scripts/webkitpy/commands/queues.py:
               - Add a new _validate_patches_in_commit_queue method (this is what fixes the regression).
               - Add a FIXME about eventually sorting the patches into some order.
              * Scripts/webkitpy/commands/queues_unittest.py:
               - Update results now that with the newly restructure mock bug cache we're testing cq+'d patches with an invalid committer.
              * Scripts/webkitpy/commands/upload_unittest.py:
               - Update results to match the newly restructured mock bug cache.
              * Scripts/webkitpy/mock_bugzillatool.py:
               - Restructure fetch_ methods to not use a manual list of ids, but rather use Bug and Attachment classes to make real queries from all of the Bugs.
               - Add a few more attachments and bug dictionaries for use by the tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64674696
  24. 07 Jan, 2010 1 commit
    • abarth@webkit.org's avatar
      2010-01-07 Adam Barth <abarth@webkit.org> · ccdbe3aa
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              bugzilla-tool needs a new name
              https://bugs.webkit.org/show_bug.cgi?id=28459
      
              Rename bugzilla-tool to webkit-patch.  Also, rename some commands to
              make more sense with the new name.
      
              * Scripts/bugzilla-tool: Removed.
              * Scripts/webkit-patch: Added.
              * Scripts/webkit-tools-completion.sh:
              * Scripts/webkitpy/bugzilla_unittest.py:
              * Scripts/webkitpy/commands/download.py:
              * Scripts/webkitpy/commands/download_unittest.py:
              * Scripts/webkitpy/commands/early_warning_system.py:
              * Scripts/webkitpy/commands/queries.py:
              * Scripts/webkitpy/commands/queues.py:
              * Scripts/webkitpy/commands/queues_unittest.py:
              * Scripts/webkitpy/commands/upload.py:
              * Scripts/webkitpy/commands/upload_unittest.py:
              * Scripts/webkitpy/queueengine.py:
              * Scripts/webkitpy/steps/completerollout.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccdbe3aa
  25. 04 Jan, 2010 1 commit
    • eric@webkit.org's avatar
      2010-01-03 Eric Seidel <eric@webkit.org> · 81e8a766
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              Rename Scripts/modules to Scripts/webkitpy
              https://bugs.webkit.org/show_bug.cgi?id=33128
      
              Just search-replace and svn mv commands.
      
              * Scripts/bugzilla-tool:
              * Scripts/check-webkit-style:
              * Scripts/modules: Removed.
              * Scripts/modules/BeautifulSoup.py: Removed.
              * Scripts/modules/__init__.py: Removed.
              * Scripts/modules/bugzilla.py: Removed.
              * Scripts/modules/bugzilla_unittest.py: Removed.
              * Scripts/modules/buildbot.py: Removed.
              * Scripts/modules/buildbot_unittest.py: Removed.
              * Scripts/modules/buildsteps.py: Removed.
              * Scripts/modules/buildsteps_unittest.py: Removed.
              * Scripts/modules/changelogs.py: Removed.
              * Scripts/modules/changelogs_unittest.py: Removed.
              * Scripts/modules/commands: Removed.
              * Scripts/modules/commands/__init__.py: Removed.
              * Scripts/modules/commands/commandtest.py: Removed.
              * Scripts/modules/commands/download.py: Removed.
              * Scripts/modules/commands/download_unittest.py: Removed.
              * Scripts/modules/commands/early_warning_system.py: Removed.
              * Scripts/modules/commands/early_warning_system_unittest.py: Removed.
              * Scripts/modules/commands/queries.py: Removed.
              * Scripts/modules/commands/queries_unittest.py: Removed.
              * Scripts/modules/commands/queues.py: Removed.
              * Scripts/modules/commands/queues_unittest.py: Removed.
              * Scripts/modules/commands/queuestest.py: Removed.
              * Scripts/modules/commands/upload.py: Removed.
              * Scripts/modules/commands/upload_unittest.py: Removed.
              * Scripts/modules/comments.py: Removed.
              * Scripts/modules/committers.py: Removed.
              * Scripts/modules/committers_unittest.py: Removed.
              * Scripts/modules/cpp_style.py: Removed.
              * Scripts/modules/cpp_style_unittest.py: Removed.
              * Scripts/modules/credentials.py: Removed.
              * Scripts/modules/credentials_unittest.py: Removed.
              * Scripts/modules/diff_parser.py: Removed.
              * Scripts/modules/diff_parser_unittest.py: Removed.
              * Scripts/modules/executive.py: Removed.
              * Scripts/modules/executive_unittest.py: Removed.
              * Scripts/modules/grammar.py: Removed.
              * Scripts/modules/mock.py: Removed.
              * Scripts/modules/mock_bugzillatool.py: Removed.
              * Scripts/modules/multicommandtool.py: Removed.
              * Scripts/modules/multicommandtool_unittest.py: Removed.
              * Scripts/modules/outputcapture.py: Removed.
              * Scripts/modules/patchcollection.py: Removed.
              * Scripts/modules/queueengine.py: Removed.
              * Scripts/modules/queueengine_unittest.py: Removed.
              * Scripts/modules/scm.py: Removed.
              * Scripts/modules/scm_unittest.py: Removed.
              * Scripts/modules/statusbot.py: Removed.
              * Scripts/modules/stepsequence.py: Removed.
              * Scripts/modules/style: Removed.
              * Scripts/modules/style.py: Removed.
              * Scripts/modules/style_unittest.py: Removed.
              * Scripts/modules/text_style.py: Removed.
              * Scripts/modules/text_style_unittest.py: Removed.
              * Scripts/modules/user.py: Removed.
              * Scripts/modules/webkit_logging.py: Removed.
              * Scripts/modules/webkit_logging_unittest.py: Removed.
              * Scripts/modules/webkit_mechanize.py: Removed.
              * Scripts/modules/webkitport.py: Removed.
              * Scripts/modules/webkitport_unittest.py: Removed.
              * Scripts/test-webkit-python: Removed.
              * Scripts/test-webkitpy: Copied from WebKitTools/Scripts/test-webkit-python.
              * Scripts/validate-committer-lists:
              * Scripts/webkitpy: Copied from WebKitTools/Scripts/modules.
              * Scripts/webkitpy/bugzilla.py:
              * Scripts/webkitpy/bugzilla_unittest.py:
              * Scripts/webkitpy/buildbot.py:
              * Scripts/webkitpy/buildbot_unittest.py:
              * Scripts/webkitpy/buildsteps.py:
              * Scripts/webkitpy/buildsteps_unittest.py:
              * Scripts/webkitpy/commands/commandtest.py:
              * Scripts/webkitpy/commands/download.py:
              * Scripts/webkitpy/commands/download_unittest.py:
              * Scripts/webkitpy/commands/early_warning_system.py:
              * Scripts/webkitpy/commands/early_warning_system_unittest.py:
              * Scripts/webkitpy/commands/queries.py:
              * Scripts/webkitpy/commands/queries_unittest.py:
              * Scripts/webkitpy/commands/queues.py:
              * Scripts/webkitpy/commands/queues_unittest.py:
              * Scripts/webkitpy/commands/queuestest.py:
              * Scripts/webkitpy/commands/upload.py:
              * Scripts/webkitpy/commands/upload_unittest.py:
              * Scripts/webkitpy/comments.py:
              * Scripts/webkitpy/credentials.py:
              * Scripts/webkitpy/credentials_unittest.py:
              * Scripts/webkitpy/executive.py:
              * Scripts/webkitpy/executive_unittest.py:
              * Scripts/webkitpy/mock_bugzillatool.py:
              * Scripts/webkitpy/multicommandtool.py:
              * Scripts/webkitpy/multicommandtool_unittest.py:
              * Scripts/webkitpy/queueengine.py:
              * Scripts/webkitpy/queueengine_unittest.py:
              * Scripts/webkitpy/scm.py:
              * Scripts/webkitpy/scm_unittest.py:
              * Scripts/webkitpy/statusbot.py:
              * Scripts/webkitpy/stepsequence.py:
              * Scripts/webkitpy/webkit_logging_unittest.py:
              * Scripts/webkitpy/webkitport_unittest.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81e8a766
  26. 20 Dec, 2009 1 commit
    • abarth@webkit.org's avatar
      2009-12-20 Adam Barth <abarth@webkit.org> · d31a63fa
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              [bzt] Optimize status updates for new dashboard
              https://bugs.webkit.org/show_bug.cgi?id=32797
      
              This patch makes the queues slightly more chatty with the web service.
              Also, this patch introduces some testing for the queues!
      
              * Scripts/modules/commands/early_warning_system.py:
              * Scripts/modules/commands/early_warning_system_unittest.py: Added.
              * Scripts/modules/commands/queues.py:
              * Scripts/modules/commands/queues_unittest.py:
              * Scripts/modules/commands/queuestest.py: Added.
              * Scripts/modules/mock_bugzillatool.py:
              * Scripts/modules/patchcollection.py:
              * Scripts/modules/queueengine.py:
              * Scripts/run-webkit-unittests:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d31a63fa
  27. 17 Dec, 2009 1 commit
    • abarth@webkit.org's avatar
      2009-12-16 Eric Seidel <eric@webkit.org> · 04ef1fe0
      abarth@webkit.org authored
              Reviewed by Adam Barth.
      
              post-diff is failing with exception under guess_reviewer_from_bug
              https://bugs.webkit.org/show_bug.cgi?id=32642
      
              Also refactor output capturing code into
              OutputCapture.assert_outputs to share more code between tests.
      
              * Scripts/modules/buildsteps.py:
               - Add the missing include.
               - Give guess_reviewer_from_bug a private underscore.
              * Scripts/modules/buildsteps_unittest.py: Added.
               - Test to make sure _guess_reviewer_from_bug works as expected.
              * Scripts/modules/commands/commandtest.py:
               - Custom code is now obsoleted by OutputCapture.assert_outputs
              * Scripts/modules/commands/queues_unittest.py:
               - ditto
              * Scripts/modules/credentials_unittest.py:
               - ditto
              * Scripts/modules/mock_bugzillatool.py:
               - fetch_reviewed_patches_from_bug can never return None
              * Scripts/modules/multicommandtool_unittest.py:
               - Custom code is now obsoleted by OutputCapture.assert_outputs
              * Scripts/modules/outputcapture.py:
               - Add assert_outputs to share more code between tests.
              * Scripts/run-webkit-unittests:
               - Add buildsteps_unittest.py
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04ef1fe0
  28. 15 Dec, 2009 1 commit
    • eric@webkit.org's avatar
      2009-12-15 Eric Seidel <eric@webkit.org> · 9800e5c6
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              queue sub-commands need --status-host so they can report status
              https://bugs.webkit.org/show_bug.cgi?id=32313
      
              Make --status-bot a global option and make
              run_bugzilla_tool pass --status-bot to sub-commands.
      
              * Scripts/bugzilla-tool:
               - Rename _status to status_bot and make it non-lazy.
              * Scripts/modules/commands/queues.py:
               - Move status updates out of WorkQueue and into individual queues.
              * Scripts/modules/commands/queues_unittest.py:
               - Test that --status-host is passed to bugzilla-tool when run as subcommand.
              * Scripts/modules/mock_bugzillatool.py:
               - Add a MockStatusBot
              * Scripts/modules/workqueue.py:
               - Remove status_host and work_work_logs_directory callbacks.
               - Add new work_item_log_path callback so that WorkQueue doesn't need to know about patches!
              * Scripts/modules/workqueue_unittest.py:
               - Update unit tests to reflect new callbacks.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9800e5c6
  29. 09 Dec, 2009 1 commit
    • abarth@webkit.org's avatar
      2009-12-09 Adam Barth <abarth@webkit.org> · 692de286
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              [bzt] Implement abstract Steps
              https://bugs.webkit.org/show_bug.cgi?id=32212
      
              This is a fairly disruptive change that refactors how we build
              commands.  Instead of using a landing sequence, we can now assemble a
              sequence of steps directly.  We still use the landing sequence in the
              interim, but this will be removed soon.
      
              * Scripts/bugzilla-tool:
              * Scripts/modules/buildsteps.py:
              * Scripts/modules/commands/download.py:
              * Scripts/modules/commands/early_warning_system.py:
              * Scripts/modules/commands/queues.py:
              * Scripts/modules/commands/queues_unittest.py:
              * Scripts/modules/landingsequence.py:
              * Scripts/modules/mock_bugzillatool.py:
              * Scripts/modules/processutils.py: Removed.
              * Scripts/modules/scm.py:
              * Scripts/modules/scm_unittest.py:
              * Scripts/modules/webkitport.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      692de286
  30. 02 Dec, 2009 1 commit
    • eric@webkit.org's avatar
      2009-12-02 Eric Seidel <eric@webkit.org> · bdf38888
      eric@webkit.org authored
              Reviewed by Adam Barth.
      
              REGRESSION(51595): commit-queue is throwing exceptions
              https://bugs.webkit.org/show_bug.cgi?id=32083
      
              * Scripts/modules/commands/queues.py:
               - Don't use default value of [] as it ends up getting shared.
               - Make log_progress accept arrays of ints as well as strings.
               - Return an exit code from execute()
              * Scripts/modules/commands/queues_unittest.py: Added.
               - Test to make sure log_progress will accept ints.
               - Test to make sure run_bugzilla_tool will accept ints.
              * Scripts/modules/workqueue.py:
               - Print the stack trace on unexpected exceptions for easier debugging.
              * Scripts/run-webkit-unittests:
               - Add queues_unittest.
      
              * Scripts/modules/commands/queues.py:
              * Scripts/modules/commands/queues_unittest.py: Copied from WebKitTools/Scripts/modules/commands/commandtest.py.
              * Scripts/modules/mock_bugzillatool.py:
              * Scripts/modules/workqueue.py:
              * Scripts/run-webkit-unittests:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bdf38888
  31. 27 Nov, 2009 1 commit
  32. 25 Nov, 2009 1 commit