Преглед изворни кода

Add basic test for release_robot.

Jelmer Vernooij пре 8 година
родитељ
комит
4f3d060948
3 измењених фајлова са 63 додато и 0 уклоњено
  1. 5 0
      NEWS
  2. 19 0
      dulwich/contrib/release_robot.py
  3. 39 0
      dulwich/contrib/test_release_robot.py

+ 5 - 0
NEWS

@@ -1,5 +1,10 @@
 0.16.1	UNRELEASED
 
+ BUG FIXES
+
+  * Fix python3 compatibility for dulwich.contrib.release_robot.
+    (Jelmer Vernooij)
+
 0.16.0	2016-12-24
 
  IMPROVEMENTS

+ 19 - 0
dulwich/contrib/release_robot.py

@@ -1,3 +1,22 @@
+# release_robot.py
+#
+# Dulwich is dual-licensed under the Apache License, Version 2.0 and the GNU
+# General Public License as public by the Free Software Foundation; version 2.0
+# or (at your option) any later version. You can redistribute it and/or
+# modify it under the terms of either of these two licenses.
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# You should have received a copy of the licenses; if not, see
+# <http://www.gnu.org/licenses/> for a copy of the GNU General Public License
+# and <http://www.apache.org/licenses/LICENSE-2.0> for a copy of the Apache
+# License, Version 2.0.
+#
+
 """Determine last version string from tags.
 
 Alternate to `Versioneer <https://pypi.python.org/pypi/versioneer/>`_ using

+ 39 - 0
dulwich/contrib/test_release_robot.py

@@ -0,0 +1,39 @@
+# release_robot.py
+#
+# Dulwich is dual-licensed under the Apache License, Version 2.0 and the GNU
+# General Public License as public by the Free Software Foundation; version 2.0
+# or (at your option) any later version. You can redistribute it and/or
+# modify it under the terms of either of these two licenses.
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# You should have received a copy of the licenses; if not, see
+# <http://www.gnu.org/licenses/> for a copy of the GNU General Public License
+# and <http://www.apache.org/licenses/LICENSE-2.0> for a copy of the Apache
+# License, Version 2.0.
+#
+
+"""Tests for release_robot."""
+
+import re
+import unittest
+
+from dulwich.contrib.release_robot import PATTERN
+
+
+class TagPatternTests(unittest.TestCase):
+
+    def test_tag_pattern(self):
+        test_cases = {
+            '0.3': '0.3', 'v0.3': '0.3', 'release0.3': '0.3', 'Release-0.3': '0.3',
+            'v0.3rc1': '0.3rc1', 'v0.3-rc1': '0.3-rc1', 'v0.3-rc.1': '0.3-rc.1',
+            'version 0.3': '0.3', 'version_0.3_rc_1': '0.3_rc_1', 'v1': '1',
+            '0.3rc1': '0.3rc1'
+        }
+        for tc, version in test_cases.items():
+            m = re.match(PATTERN, tc)
+            self.assertEqual(m.group(1), version)