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
 2009-12-01  Yaar Schnitman  <yaar@chromium.org>
 
         build-webkit: Remove flex,bison,gperf check for chromium
index 736f11c28574599b35d5daaa69d4eae3f5d4cadc..764a13870eeb30b4924c74ab1126f87f038c2684 100755 (executable)
 
 import os
 
 
 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.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):
 
 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)
         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))
 
     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.
 
 # (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 os
-import re
-import StringIO
-import subprocess
-import sys
-import time
 
 
-from datetime import datetime, timedelta
 from optparse import make_option
 
 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.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):
 
 
 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.
 
 # (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 optparse import make_option
 
-from modules.bugzilla import Bugzilla, parse_bug_id
 from modules.buildbot import BuildBot
 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"
 
 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.
 
 # (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 re
-import StringIO
-import subprocess
-import sys
-import time
 
 
-from datetime import datetime, timedelta
+from datetime import datetime
 from optparse import make_option
 
 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.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.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
 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.
 
 # (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 os
-import re
 import StringIO
 import StringIO
-import subprocess
 import sys
 import sys
-import time
 
 
-from datetime import datetime, timedelta
 from optparse import make_option
 
 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.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):
 
 # 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')
         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.
         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(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)
 
     def test_detection(self):
         scm = detect_scm_system(self.svn_checkout_path)