Hashar has uploaded a new change for review.
https://gerrit.wikimedia.org/r/96016
Change subject: make-release: unit tests for MwVersion
......................................................................
make-release: unit tests for MwVersion
Basic unit tests for the make-release MwVersion class using python
unittest. Will let us refactor MwVersion to change 'branch' to 'tags'
and populate the real branch name (aka: REL#_## or master).
$ python -m unittest discover --verbose
test_incomplete_version (tests.test_mwversion.TestMwVersion) ... ok
test_major_version (tests.test_mwversion.TestMwVersion) ... ok
test_master (tests.test_mwversion.TestMwVersion) ... ok
test_minor_version (tests.test_mwversion.TestMwVersion) ... ok
test_release_candidate (tests.test_mwversion.TestMwVersion) ... ok
test_release_candidate_bumps (tests.test_mwversion.TestMwVersion) ... ok
----------------------------------------------------------------------
Ran 6 tests in 0.002s
OK
$
The runtest.sh is a helper to let people easily run the tests without
having to figure out the exact command.
bug: 57088
Change-Id: I25f5a9d28e4e1c0bb73ba3603f741d8be2c05f0b
---
A make-release/runtests.sh
A make-release/tests/__init__.py
A make-release/tests/test_mwversion.py
3 files changed, 87 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release
refs/changes/16/96016/1
diff --git a/make-release/runtests.sh b/make-release/runtests.sh
new file mode 100755
index 0000000..1580cac
--- /dev/null
+++ b/make-release/runtests.sh
@@ -0,0 +1 @@
+python -m unittest discover --verbose
diff --git a/make-release/tests/__init__.py b/make-release/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/make-release/tests/__init__.py
diff --git a/make-release/tests/test_mwversion.py
b/make-release/tests/test_mwversion.py
new file mode 100644
index 0000000..7e61536
--- /dev/null
+++ b/make-release/tests/test_mwversion.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+#
+# Copyright 2013, Antoine "hashar" Musso
+# Copyright 2013, Wikimedia Foundation Inc.
+
+
+import unittest
+makerelease = __import__('make-release')
+
+
+class FakeVersion(makerelease.MwVersion):
+
+ def __init__(self, attributes):
+ self.raw = None
+ self.major = None
+ self.branch = None
+ self.prev_version = None
+ self.prev_branch = None
+
+ self.__dict__.update(attributes)
+
+
+class TestMwVersion(unittest.TestCase):
+
+ # Helper
+ def assertMwVersionEqual(self, expected, observed):
+ """Compare two object properties"""
+ return self.assertDictEqual(expected.__dict__, observed.__dict__)
+
+ def test_master(self):
+ observed = makerelease.MwVersion('master')
+ expected = FakeVersion({'raw': 'master'})
+ self.assertMwVersionEqual(expected, observed)
+
+ def test_major_version(self):
+ observed = makerelease.MwVersion('1.22.0')
+ expected = FakeVersion({
+ 'raw': '1.22.0',
+ 'major': '1.22',
+ 'branch': 'tags/1.22.0',
+ })
+ self.assertMwVersionEqual(expected, observed)
+
+ def test_minor_version(self):
+ observed = makerelease.MwVersion('1.22.1')
+ expected = FakeVersion({
+ 'raw': '1.22.1',
+ 'major': '1.22',
+ 'branch': 'tags/1.22.1',
+ 'prev_branch': 'tags/1.22.0',
+ 'prev_version': '1.22.0',
+ })
+ self.assertMwVersionEqual(expected, observed)
+
+ def test_release_candidate(self):
+ observed = makerelease.MwVersion('1.22.0rc0')
+ expected = FakeVersion({
+ 'raw': '1.22.0rc0',
+ 'major': '1.22',
+ 'branch': 'tags/1.22.0rc0',
+ })
+ self.assertMwVersionEqual(expected, observed)
+
+ def test_release_candidate_bumps(self):
+ observed = makerelease.MwVersion('1.22.0rc0')
+ expected = FakeVersion({
+ 'raw': '1.22.0rc0',
+ 'major': '1.22',
+ 'branch': 'tags/1.22.0rc0',
+ })
+ self.assertMwVersionEqual(expected, observed)
+
+ observed = makerelease.MwVersion('1.22.0rc1')
+ expected = FakeVersion({
+ 'raw': '1.22.0rc1',
+ 'major': '1.22',
+ 'branch': 'tags/1.22.0rc1',
+ 'prev_branch': 'tags/1.22.0rc0',
+ 'prev_version': '1.22.0rc0',
+ })
+ self.assertMwVersionEqual(expected, observed)
+
+ def test_incomplete_version(self):
+ observed = makerelease.MwVersion('1.22')
+ expected = FakeVersion({'raw': '1.22'})
+ self.assertMwVersionEqual(expected, observed)
--
To view, visit https://gerrit.wikimedia.org/r/96016
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I25f5a9d28e4e1c0bb73ba3603f741d8be2c05f0b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Hashar <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits