2009-12-02 Eric Seidel <eric@webkit.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Dec 2009 09:04:55 +0000 (09:04 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Dec 2009 09:04:55 +0000 (09:04 +0000)
        Reviewed by Adam Barth.

        trim commands/*.py includes now that commands are unit tested
        https://bugs.webkit.org/show_bug.cgi?id=32056

        In the course of ensuring that the unit tests still
        passed after this change, I had to actually make them
        pass in the first place.

        * Scripts/modules/bugzilla.py:
         - Fix _parse_attachment_ids_request_query to return ints instead of strings.
        * Scripts/modules/commands/download.py: Remove unneeded imports.
        * Scripts/modules/commands/queries.py: Ditto.
        * Scripts/modules/commands/queues.py: Ditto.
        * Scripts/modules/commands/upload.py: Ditto.
        * Scripts/modules/scm_unittest.py:
         - Fix to expect the \n after the path since echo adds an \n.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@51590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/Scripts/bugzilla-tool
WebKitTools/Scripts/modules/bugzilla.py
WebKitTools/Scripts/modules/commands/download.py
WebKitTools/Scripts/modules/commands/queries.py
WebKitTools/Scripts/modules/commands/queues.py
WebKitTools/Scripts/modules/commands/upload.py
WebKitTools/Scripts/modules/scm_unittest.py

index 8d3a3da35871a84dc6035f43cab1f7da43f57d6c..dd55514313094e4bb82dc84f9716894bb7b1ed9a 100644 (file)
@@ -1,3 +1,23 @@
+2009-12-02  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Adam Barth.
+
+        trim commands/*.py includes now that commands are unit tested
+        https://bugs.webkit.org/show_bug.cgi?id=32056
+
+        In the course of ensuring that the unit tests still
+        passed after this change, I had to actually make them
+        pass in the first place.
+
+        * Scripts/modules/bugzilla.py:
+         - Fix _parse_attachment_ids_request_query to return ints instead of strings.
+        * Scripts/modules/commands/download.py: Remove unneeded imports.
+        * Scripts/modules/commands/queries.py: Ditto.
+        * Scripts/modules/commands/queues.py: Ditto.
+        * Scripts/modules/commands/upload.py: Ditto.
+        * Scripts/modules/scm_unittest.py:
+         - Fix to expect the \n after the path since echo adds an \n.
+
 2009-12-01  Yaar Schnitman  <yaar@chromium.org>
 
         build-webkit: Remove flex,bison,gperf check for chromium
index 736f11c28574599b35d5daaa69d4eae3f5d4cadc..764a13870eeb30b4924c74ab1126f87f038c2684 100755 (executable)
 
 import os
 
+from modules.bugzilla import Bugzilla
+from modules.buildbot import BuildBot
 from modules.buildsteps import BuildSteps
 from modules.commands.download import *
 from modules.commands.queries import *
 from modules.commands.queues import *
 from modules.commands.upload import *
 from modules.logging import log
+from modules.multicommandtool import MultiCommandTool
+from modules.scm import detect_scm_system
 
 class BugzillaTool(MultiCommandTool):
     def __init__(self):
index 2fbb4c26bb2c97d8666b1ade6f0b271496e48c3e..dd2e569bea998b214abfda4ef3bac4461b7d1ad7 100644 (file)
@@ -313,7 +313,7 @@ class Bugzilla:
         digits = re.compile("\d+")
         attachment_href = re.compile("attachment.cgi\?id=\d+&action=review")
         attachment_links = SoupStrainer("a", href=attachment_href)
-        return [digits.search(tag["href"]).group(0) for tag in BeautifulSoup(page, parseOnlyThese=attachment_links)]
+        return [int(digits.search(tag["href"]).group(0)) for tag in BeautifulSoup(page, parseOnlyThese=attachment_links)]
 
     def _fetch_attachment_ids_request_query(self, query):
         return self._parse_attachment_ids_request_query(urllib2.urlopen(query))
index 31af13387fea786f62891334ae8a3ae229de1cc3..2a1347a39ceb65b9ad01cb5b4da318fbf3681be4 100644 (file)
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# FIXME: Trim down this import list once we have unit tests.
 import os
-import re
-import StringIO
-import subprocess
-import sys
-import time
 
-from datetime import datetime, timedelta
 from optparse import make_option
 
-from modules.bugzilla import Bugzilla, parse_bug_id
-from modules.buildbot import BuildBot
+from modules.bugzilla import parse_bug_id
 from modules.buildsteps import BuildSteps
 from modules.changelogs import ChangeLog
 from modules.comments import bug_comment_from_commit_text
 from modules.grammar import pluralize
 from modules.landingsequence import LandingSequence, ConditionalLandingSequence
-from modules.logging import error, log, tee
-from modules.multicommandtool import MultiCommandTool, Command
-from modules.patchcollection import PatchCollection
-from modules.scm import CommitMessage, detect_scm_system, ScriptError, CheckoutNeedsUpdate
-from modules.statusbot import StatusBot
-from modules.webkitport import WebKitPort
-from modules.workqueue import WorkQueue, WorkQueueDelegate
+from modules.logging import error, log
+from modules.multicommandtool import Command
+from modules.scm import ScriptError
 
 
 class BuildSequence(ConditionalLandingSequence):
index dbaa15916d98127ff8505e6ebc7b9219ef0c99b1..dfbc0c8c1205e7a0fb60f83d37d70d2821fdb814 100644 (file)
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# FIXME: Trim down this import list once we have unit tests.
-import os
-import re
-import StringIO
-import subprocess
-import sys
-import time
-
-from datetime import datetime, timedelta
+
 from optparse import make_option
 
-from modules.bugzilla import Bugzilla, parse_bug_id
 from modules.buildbot import BuildBot
-from modules.changelogs import ChangeLog
-from modules.comments import bug_comment_from_commit_text
-from modules.grammar import pluralize
-from modules.landingsequence import LandingSequence, ConditionalLandingSequence
-from modules.logging import error, log, tee
-from modules.multicommandtool import MultiCommandTool, Command
-from modules.patchcollection import PatchCollection
-from modules.scm import CommitMessage, detect_scm_system, ScriptError, CheckoutNeedsUpdate
-from modules.statusbot import StatusBot
-from modules.webkitport import WebKitPort
-from modules.workqueue import WorkQueue, WorkQueueDelegate
+from modules.logging import log
+from modules.multicommandtool import Command
 
 class BugsToCommit(Command):
     name = "bugs-to-commit"
index df56ef6e77e486fe96ad4e33f8419c07b3f78788..5d2e48137fc7e9ec1ba7280fc16a823480b137e8 100644 (file)
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# FIXME: Trim down this import list once we have unit tests.
-import os
 import re
-import StringIO
-import subprocess
-import sys
-import time
 
-from datetime import datetime, timedelta
+from datetime import datetime
 from optparse import make_option
 
-from modules.bugzilla import Bugzilla, parse_bug_id
-from modules.buildbot import BuildBot
-from modules.changelogs import ChangeLog
-from modules.comments import bug_comment_from_commit_text
 from modules.grammar import pluralize
 from modules.landingsequence import LandingSequence, ConditionalLandingSequence, LandingSequenceErrorHandler
-from modules.logging import error, log, tee
-from modules.multicommandtool import MultiCommandTool, Command
+from modules.logging import error, log
+from modules.multicommandtool import Command
 from modules.patchcollection import PatchCollection, PersistentPatchCollection, PersistentPatchCollectionDelegate
 from modules.processutils import run_and_throw_if_fail
-from modules.scm import CommitMessage, detect_scm_system, ScriptError, CheckoutNeedsUpdate
+from modules.scm import ScriptError
 from modules.statusbot import StatusBot
 from modules.webkitport import WebKitPort
 from modules.workqueue import WorkQueue, WorkQueueDelegate
index 512615312125a370e191a0fbc3137a8fe639470c..1f892a1ed4911c8405f180ccc3821f82f9b5339b 100644 (file)
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# FIXME: Trim down this import list once we have unit tests.
 import os
-import re
 import StringIO
-import subprocess
 import sys
-import time
 
-from datetime import datetime, timedelta
 from optparse import make_option
 
-from modules.bugzilla import Bugzilla, parse_bug_id
-from modules.buildbot import BuildBot
-from modules.changelogs import ChangeLog
-from modules.comments import bug_comment_from_commit_text
+from modules.bugzilla import parse_bug_id
 from modules.grammar import pluralize
-from modules.landingsequence import LandingSequence, ConditionalLandingSequence
-from modules.logging import error, log, tee
-from modules.multicommandtool import MultiCommandTool, Command
-from modules.patchcollection import PatchCollection
-from modules.scm import CommitMessage, detect_scm_system, ScriptError, CheckoutNeedsUpdate
-from modules.statusbot import StatusBot
-from modules.webkitport import WebKitPort
-from modules.workqueue import WorkQueue, WorkQueueDelegate
+from modules.logging import error, log
+from modules.multicommandtool import Command
 
 # FIXME: Requires unit test.
 class CommitMessageForCurrentDiff(Command):
index 8d582e77329482ea307edd6d8195d04acbfc2347..f0c84afb2062ff99f65703f028fbd299dba7b9de 100644 (file)
@@ -403,7 +403,7 @@ class SVNTest(SCMTest):
         scripts_path = os.path.join(self.svn_checkout_path, 'WebKitTools', 'Scripts')
         os.makedirs(scripts_path)
         create_patch_path = os.path.join(scripts_path, 'svn-create-patch')
-        write_into_file_at_path(create_patch_path, '#!/bin/sh\necho $PWD')
+        write_into_file_at_path(create_patch_path, '#!/bin/sh\necho $PWD') # We could pass -n to prevent the \n, but not all echo accept -n.
         os.chmod(create_patch_path, stat.S_IXUSR | stat.S_IRUSR)
 
         # Change into our test directory and run the create_patch command.
@@ -412,7 +412,7 @@ class SVNTest(SCMTest):
         self.assertEqual(scm.checkout_root, self.svn_checkout_path) # Sanity check that detection worked right.
         patch_contents = scm.create_patch()
         # Our fake 'svn-create-patch' returns $PWD instead of a patch, check that it was executed from the root of the repo.
-        self.assertEqual(os.path.realpath(scm.checkout_root), patch_contents)
+        self.assertEqual("%s\n" % os.path.realpath(scm.checkout_root), patch_contents) # Add a \n because echo adds a \n.
 
     def test_detection(self):
         scm = detect_scm_system(self.svn_checkout_path)