|
Michal Suchanek |
979604 |
#!/usr/bin/env python3
|
|
Jeff Mahoney |
89f2a2 |
# -*- coding: utf-8 -*-,
|
|
Michal Suchanek |
979604 |
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
import sys
|
|
Jeff Mahoney |
89f2a2 |
import os.path
|
|
Jeff Mahoney |
89f2a2 |
import unittest
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
from suse_git import header
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
class TestHeaderChecker(unittest.TestCase):
|
|
Jeff Mahoney |
89f2a2 |
def test_empty(self):
|
|
Jeff Mahoney |
89f2a2 |
try:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker("")
|
|
Benjamin Poirier |
4e62ed |
except header.HeaderException as e:
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(4, e.errors(header.MissingTagError))
|
|
Jeff Mahoney |
89f2a2 |
self.assertTrue(e.tag_is_missing('patch-mainline'))
|
|
Jeff Mahoney |
d1e5de |
self.assertTrue(e.tag_is_missing('from'))
|
|
Jeff Mahoney |
d1e5de |
self.assertTrue(e.tag_is_missing('subject'))
|
|
Jeff Mahoney |
ae9d1c |
self.assertTrue(e.tag_is_missing('references'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(4, e.errors())
|
|
Jeff Mahoney |
d1e5de |
|
|
Jeff Mahoney |
d1e5de |
def test_subject_dupe(self):
|
|
Jeff Mahoney |
d1e5de |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: develoepr@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
d1e5de |
Patch-mainline: v4.2-rc2
|
|
Jeff Mahoney |
d1e5de |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
d1e5de |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
d1e5de |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.DuplicateTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_dupe(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc2
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.DuplicateTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_empty(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline:
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.EmptyTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('patch-mainline'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_no_ack_or_sob(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
try:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
4e62ed |
except header.HeaderException as e:
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Jeff Mahoney |
89f2a2 |
self.assertTrue(e.tag_is_missing('acked-by'))
|
|
Jeff Mahoney |
89f2a2 |
self.assertTrue(e.tag_is_missing('signed-off-by'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_multi_ack(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@external.com
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_multi_ack_ext_last(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@external.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_mixed_ack_sob(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer@external.com
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_ack(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_from(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
89f2a2 |
From: developer@suse.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_review(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
89f2a2 |
From: developer@external.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
Reviewed-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_sob(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_multi_sob(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer2@external.com
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_version_correct_multi_sob_ext_last(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
Signed-off-by: developer2@external.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_na(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: n/a
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_correct_ml(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted, 19 July 2015 - linux-btrfs
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
errors = self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_correct_url(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted, https://lkml.org/archive/link-to-post
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
errors = self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_detail_git_commit(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted, https://lkml.org/archive/link-to-post
|
|
Jeff Mahoney |
89f2a2 |
Git-repo: git://host/valid/path/to/repo
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.ExcludedTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
# Required/Excluded conflict between Patch-mainline (Submitted)
|
|
Jeff Mahoney |
89f2a2 |
# and Git-commit
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_detail_git_commit(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted, https://lkml.org/archive/link-to-post
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.ExcludedTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_submitted_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Submitted
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_never_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Never
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
89f2a2 |
try:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
4e62ed |
except header.HeaderException as e:
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_yes_with_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Yes, v4.1-rc1
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_yes_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Yes
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_not_yet_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Not yet
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_never_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Never, SLES-specific feature
|
|
Jeff Mahoney |
ae9d1c |
References: FATE#123456
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_no_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: No, handled differently upstream
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Michal Suchanek |
50efd7 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Michal Suchanek |
50efd7 |
self.header = header.Checker(text)
|
|
Michal Suchanek |
50efd7 |
|
|
Michal Suchanek |
50efd7 |
e = cm.exception
|
|
Michal Suchanek |
50efd7 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Michal Suchanek |
50efd7 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_not_yet_detail(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Not yet, rare reason
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_git_commit_standalone(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
89f2a2 |
try:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
4e62ed |
except header.HeaderException as e:
|
|
Jeff Mahoney |
89f2a2 |
# Both policy and Git-commit require Patch-mainline
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors(header.MissingTagError))
|
|
Jeff Mahoney |
89f2a2 |
self.assertTrue(e.tag_is_missing('patch-mainline'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_queued_correct(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Queued
|
|
Jeff Mahoney |
89f2a2 |
Git-repo: git://path/to/git/repo
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_queued_standalone(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Queued
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('git-commit'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('git-repo'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_queued_with_git_repo(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Queued
|
|
Jeff Mahoney |
89f2a2 |
Git-repo: git://path/to/git/repo
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
# Required by both Patch-mainline (Queued) and
|
|
Benjamin Poirier |
ba48e0 |
# Git-repo
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('git-commit'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_queued_with_git_commit(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: Queued
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('git-repo'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_patch_mainline_invalid(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
d1e5de |
From: developer@site.com
|
|
Jeff Mahoney |
d1e5de |
Subject: some patch
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: n/a
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.FormatError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_diff_like_description(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
89f2a2 |
From: developer@external.com
|
|
Jeff Mahoney |
89f2a2 |
Subject: blablah
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
This is a thing. I ran across it:
|
|
Jeff Mahoney |
89f2a2 |
*** Testing resulted in failure
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
def test_diff_like_description2(self):
|
|
Jeff Mahoney |
89f2a2 |
text = """
|
|
Jeff Mahoney |
89f2a2 |
From: developer@external.com
|
|
Jeff Mahoney |
89f2a2 |
Subject: blablah
|
|
Jeff Mahoney |
89f2a2 |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
89f2a2 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
This is a thing. I ran across it:
|
|
Jeff Mahoney |
89f2a2 |
--- Testing resulted in failure
|
|
Jeff Mahoney |
89f2a2 |
|
|
Jeff Mahoney |
89f2a2 |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
89f2a2 |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_empty(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References:
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.EmptyTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('references'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(2, e.errors())
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_missing(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('references'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_multi(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12354
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_multi2(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345 bsc#12354
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_multi3(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345, bsc#12354
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
def test_patch_references_multi3(self):
|
|
Jeff Mahoney |
ae9d1c |
text = """
|
|
Jeff Mahoney |
ae9d1c |
From: developer@site.com
|
|
Jeff Mahoney |
ae9d1c |
Subject: some patch
|
|
Jeff Mahoney |
ae9d1c |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
ae9d1c |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
ae9d1c |
References: bsc#12345, bsc#12354
|
|
Jeff Mahoney |
ae9d1c |
References: fix for blahblah
|
|
Jeff Mahoney |
ae9d1c |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
ae9d1c |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text)
|
|
Jeff Mahoney |
ae9d1c |
|
|
Jeff Mahoney |
ae9d1c |
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
@unittest.skip("Enable this check when we want to require a real "
|
|
Benjamin Poirier |
ba48e0 |
"References tag")
|
|
Benjamin Poirier |
ba48e0 |
def test_patch_references_only_freeform(self):
|
|
Benjamin Poirier |
ba48e0 |
text = """
|
|
Benjamin Poirier |
ba48e0 |
From: developer@site.com
|
|
Benjamin Poirier |
ba48e0 |
Subject: some patch
|
|
Benjamin Poirier |
ba48e0 |
Patch-mainline: v4.2-rc1
|
|
Benjamin Poirier |
ba48e0 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Benjamin Poirier |
ba48e0 |
References: fix for blahblah
|
|
Benjamin Poirier |
ba48e0 |
Acked-by: developer@suse.com
|
|
Benjamin Poirier |
ba48e0 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Benjamin Poirier |
ba48e0 |
self.header = header.Checker(text)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('references'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Benjamin Poirier |
ba48e0 |
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_empty_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
References:
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.EmptyTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_missing_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_multi_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
References: bsc#12345
|
|
Jeff Mahoney |
37049b |
References: bsc#12354
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_multi2_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
References: bsc#12345 bsc#12354
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_multi3_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
References: bsc#12345, bsc#12354
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
def test_patch_references_multi3_update(self):
|
|
Jeff Mahoney |
37049b |
text = """
|
|
Jeff Mahoney |
37049b |
From: developer@site.com
|
|
Jeff Mahoney |
37049b |
Subject: some patch
|
|
Jeff Mahoney |
37049b |
Patch-mainline: v4.2-rc1
|
|
Jeff Mahoney |
37049b |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Jeff Mahoney |
37049b |
References: bsc#12345, bsc#12354
|
|
Jeff Mahoney |
37049b |
References: fix for blahblah
|
|
Jeff Mahoney |
37049b |
Acked-by: developer@suse.com
|
|
Jeff Mahoney |
37049b |
"""
|
|
Jeff Mahoney |
37049b |
self.header = header.Checker(text, True)
|
|
Jeff Mahoney |
37049b |
|
|
Jeff Mahoney |
37049b |
|
|
Benjamin Poirier |
ba48e0 |
@unittest.skip("Enable this check when we want to require a real "
|
|
Benjamin Poirier |
ba48e0 |
"References tag")
|
|
Benjamin Poirier |
ba48e0 |
def test_patch_references_only_freeform_update(self):
|
|
Benjamin Poirier |
ba48e0 |
text = """
|
|
Benjamin Poirier |
ba48e0 |
From: developer@site.com
|
|
Benjamin Poirier |
ba48e0 |
Subject: some patch
|
|
Benjamin Poirier |
ba48e0 |
Patch-mainline: v4.2-rc1
|
|
Benjamin Poirier |
ba48e0 |
Git-commit: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
Benjamin Poirier |
ba48e0 |
References: fix for blahblah
|
|
Benjamin Poirier |
ba48e0 |
Acked-by: developer@suse.com
|
|
Benjamin Poirier |
ba48e0 |
"""
|
|
Benjamin Poirier |
ba48e0 |
with self.assertRaises(header.HeaderException) as cm:
|
|
Benjamin Poirier |
ba48e0 |
self.header = header.Checker(text, True)
|
|
Benjamin Poirier |
ba48e0 |
|
|
Benjamin Poirier |
ba48e0 |
e = cm.exception
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors(header.MissingTagError))
|
|
Benjamin Poirier |
ba48e0 |
self.assertTrue(e.tag_is_missing('references'))
|
|
Benjamin Poirier |
ba48e0 |
self.assertEqual(1, e.errors())
|
|
Michal Suchanek |
b5822d |
|
|
Michal Suchanek |
b5822d |
def test_no_patch_mainline_for_kabi(self):
|
|
Michal Suchanek |
b5822d |
text = """
|
|
Michal Suchanek |
b5822d |
From: developer@site.com
|
|
Michal Suchanek |
b5822d |
Subject: some patch
|
|
Michal Suchanek |
b5822d |
References: FATE#123456
|
|
Michal Suchanek |
b5822d |
Acked-by: developer@suse.com
|
|
Michal Suchanek |
b5822d |
"""
|
|
Michal Suchanek |
b5822d |
self.header = header.Checker(text, False, "patches.kabi/FATE123456_fix_kabi.patch")
|