[PATCH v3 3/9] models: Modify behavior of Series.received_all

Daniel Axtens dja at axtens.net
Fri Feb 24 15:50:43 AEDT 2017


Hi Stephen,

Some nits to fix:

dja at connectitude ~/d/p/patchwork> pwclient git-am 725401
Applying patch #725401 using 'git am'
Description: [v3,3/9] models: Modify behavior of Series.received_all
Applying: models: Modify behavior of Series.received_all
.git/rebase-apply/patch:75: trailing whitespace.
--
.git/rebase-apply/patch:113: trailing whitespace.
--
.git/rebase-apply/patch:169: trailing whitespace.
--
.git/rebase-apply/patch:225: trailing whitespace.
--
.git/rebase-apply/patch:263: trailing whitespace.
--
warning: squelched 3 whitespace errors
warning: 8 lines add whitespace errors.

Happy for you to fix these on merge.

Regards,
Daniel

Stephen Finucane <stephen at that.guru> writes:

> At the moment, Series.received_all is only true is the number of patches
> received exactly matches the expected number of patches. However, there
> are cases where there may in fact be more patches in the final series
> than expected. For example, one could send patches with a subject of
> 'PATCH 5/4' in-reply-to an original four patch series. The parser
> handles this correctly, so the 'received_all' property should too.
>
> We still need to support patterns like '5/n', which are in use and do
> not appear to be supported since 'c21b305'. This can be done at a later
> stage.
>
> Signed-off-by: Stephen Finucane <stephen at that.guru>
> ---
>  .gitignore                                     |   6 +-
>  patchwork/models.py                            |   2 +-
>  patchwork/tests/series/base-extra-patches.mbox | 182 +++++++++++++++++++++++++
>  patchwork/tests/series/base-incomplete.mbox    |  70 ++++++++++
>  patchwork/tests/test_series.py                 |  65 ++++++++-
>  5 files changed, 320 insertions(+), 5 deletions(-)
>  create mode 100644 patchwork/tests/series/base-extra-patches.mbox
>  create mode 100644 patchwork/tests/series/base-incomplete.mbox
>
> diff --git a/.gitignore b/.gitignore
> index fd52c8c..d295c3c 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -15,9 +15,9 @@ TAGS
>  /series
>  
>  # patch files
> -*.patch
> -*.diff
> -*.mbox
> +/*.patch
> +/*.diff
> +/*.mbox
>  
>  # cscope files
>  cscope.*
> diff --git a/patchwork/models.py b/patchwork/models.py
> index 659414a..cf363f0 100644
> --- a/patchwork/models.py
> +++ b/patchwork/models.py
> @@ -579,7 +579,7 @@ class Series(models.Model):
>  
>      @property
>      def received_all(self):
> -        return self.total == self.received_total
> +        return self.total <= self.received_total
>  
>      def add_cover_letter(self, cover):
>          """Add a cover letter to the series.
> diff --git a/patchwork/tests/series/base-extra-patches.mbox b/patchwork/tests/series/base-extra-patches.mbox
> new file mode 100644
> index 0000000..fd6ac1f
> --- /dev/null
> +++ b/patchwork/tests/series/base-extra-patches.mbox
> @@ -0,0 +1,182 @@
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:13 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 0/2] A sample series
> +Date: Sun, 11 Sep 2016 23:22:02 +0100
> +Message-ID: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 395
> +Lines: 18
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +This is a sample cover letter. It doesn't really contribute to the
> +conversation, but I added it anway.
> +
> +Stephen Finucane (2):
> +  test: Add some lorem ipsum
> +  test: Convert to Markdown
> +
> + test.md  | 8 ++++++++
> + test.txt | 1 -
> + 2 files changed, 8 insertions(+), 1 deletion(-)
> + create mode 100644 test.md
> + delete mode 100644 test.txt
> +
> +-- 
> +2.7.4
> +
> +
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:13 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 1/2] test: Add some lorem ipsum
> +Date: Sun, 11 Sep 2016 23:22:03 +0100
> +Message-ID: <1473632524-8585-2-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +In-Reply-To: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +References: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 670
> +Lines: 22
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +---
> + test.txt | 7 +++++++
> + 1 file changed, 7 insertions(+)
> +
> +diff --git a/test.txt b/test.txt
> +index f75ba05..a6c61c0 100644
> +--- a/test.txt
> ++++ b/test.txt
> +@@ -1 +1,8 @@
> + Hello, world.
> ++
> ++Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> ++augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> ++Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> ++id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> ++eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> ++tellus commodo bibendum ut vel dolor.
> +-- 
> +2.7.4
> +
> +
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:16 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 2/2] test: Convert to Markdown
> +Date: Sun, 11 Sep 2016 23:22:04 +0100
> +Message-ID: <1473632524-8585-3-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +In-Reply-To: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +References: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 1345
> +Lines: 40
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +---
> + test.md  | 8 ++++++++
> + test.txt | 8 --------
> + 2 files changed, 8 insertions(+), 8 deletions(-)
> + create mode 100644 test.md
> + delete mode 100644 test.txt
> +
> +diff --git a/test.md b/test.md
> +new file mode 100644
> +index 0000000..e5ff90e
> +--- /dev/null
> ++++ b/test.md
> +@@ -0,0 +1,8 @@
> ++# Hello, world
> ++
> ++Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> ++augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> ++Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> ++id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> ++eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> ++tellus commodo bibendum ut vel dolor.
> +diff --git a/test.txt b/test.txt
> +deleted file mode 100644
> +index a6c61c0..0000000
> +--- a/test.txt
> ++++ /dev/null
> +@@ -1,8 +0,0 @@
> +-Hello, world.
> +-
> +-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> +-augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> +-Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> +-id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> +-eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> +-tellus commodo bibendum ut vel dolor.
> +-- 
> +2.7.4
> +
> +
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:16 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 3/2] test: Remove Markdown formatting
> +Date: Sun, 11 Sep 2016 23:22:05 +0100
> +Message-ID: <1473632524-8585-4-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +In-Reply-To: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +References: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 1345
> +Lines: 40
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +---
> + test.md  | 8 --------
> + test.txt | 8 ++++++++
> + 2 files changed, 8 insertions(+), 8 deletions(-)
> + create mode 100644 test.txt
> + delete mode 100644 test.md
> +
> +diff --git a/test.txt b/test.txt
> +new file mode 100644
> +index a6c61c0..0000000
> +--- /dev/null
> ++++ a/test.txt
> +@@ -1,8 +0,0 @@
> ++Hello, world.
> ++
> ++Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> ++augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> ++Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> ++id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> ++eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> ++tellus commodo bibendum ut vel dolor.
> +diff --git a/test.md b/test.md
> +deleted file mode 100644
> +index 0000000..e5ff90e
> +--- a/test.md
> ++++ /dev/null
> +@@ -0,0 +1,8 @@
> +-# Hello, world
> +-
> +-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> +-augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> +-Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> +-id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> +-eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> +-tellus commodo bibendum ut vel dolor.
> +-- 
> +2.7.4
> +
> +
> diff --git a/patchwork/tests/series/base-incomplete.mbox b/patchwork/tests/series/base-incomplete.mbox
> new file mode 100644
> index 0000000..d75bf5e
> --- /dev/null
> +++ b/patchwork/tests/series/base-incomplete.mbox
> @@ -0,0 +1,70 @@
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:13 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 0/2] A sample series
> +Date: Sun, 11 Sep 2016 23:22:02 +0100
> +Message-ID: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 395
> +Lines: 18
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +This is a sample cover letter. It doesn't really contribute to the
> +conversation, but I added it anway.
> +
> +Stephen Finucane (2):
> +  test: Add some lorem ipsum
> +  test: Convert to Markdown
> +
> + test.md  | 8 ++++++++
> + test.txt | 1 -
> + 2 files changed, 8 insertions(+), 1 deletion(-)
> + create mode 100644 test.md
> + delete mode 100644 test.txt
> +
> +-- 
> +2.7.4
> +
> +
> +From stephenfinucane at gmail.com Sun Sep 11 23:22:13 2016
> +Return-Path: <stephenfinucane at gmail.com>
> +From: Stephen Finucane <stephenfinucane at gmail.com>
> +To: stephenfinucane at hotmail.com
> +Subject: [PATCH 1/2] test: Add some lorem ipsum
> +Date: Sun, 11 Sep 2016 23:22:03 +0100
> +Message-ID: <1473632524-8585-2-git-send-email-stephenfinucane at gmail.com>
> +X-Mailer: git-send-email 2.7.4
> +In-Reply-To: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +References: <1473632524-8585-1-git-send-email-stephenfinucane at gmail.com>
> +MIME-Version: 1.0
> +Content-Type: text/plain
> +Content-Length: 670
> +Lines: 22
> +
> +From: Stephen Finucane <stephenfinucane at hotmail.com>
> +
> +---
> + test.txt | 7 +++++++
> + 1 file changed, 7 insertions(+)
> +
> +diff --git a/test.txt b/test.txt
> +index f75ba05..a6c61c0 100644
> +--- a/test.txt
> ++++ b/test.txt
> +@@ -1 +1,8 @@
> + Hello, world.
> ++
> ++Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget eleifend
> ++augue. Nullam at metus venenatis, laoreet neque nec, convallis mauris.
> ++Pellentesque aliquam at nisi et laoreet. Duis non nisl venenatis, rhoncus risus
> ++id, elementum felis. In hac habitasse platea dictumst. Nam sit amet maximus
> ++eros. Nam quis ligula ut tortor egestas bibendum. Nunc sed purus sit amet
> ++tellus commodo bibendum ut vel dolor.
> +-- 
> +2.7.4
> +
> +
> diff --git a/patchwork/tests/test_series.py b/patchwork/tests/test_series.py
> index 7377d91..d2514c6 100644
> --- a/patchwork/tests/test_series.py
> +++ b/patchwork/tests/test_series.py
> @@ -369,12 +369,75 @@ class RevisedSeriesTest(_BaseTestCase):
>                  - [PATCH v2 2/2] test: Convert to Markdown
>  
>          """
> -        covers, patches, _ = self._parse_mbox(
> +        _, patches, _ = self._parse_mbox(
>              'bugs-nocover.mbox', [0, 4, 0])
>  
>          self.assertSerialized(patches, [2, 2])
>  
>  
> +class SeriesTotalTest(_BaseTestCase):
> +
> +    def test_incomplete(self):
> +        """Series received with patches missing.
> +
> +        Parse a series where not all patches were received.
> +
> +        Input:
> +
> +          - [PATCH 0/2] A sample series
> +            - [PATCH 1/2] test: Add some lorem ipsum
> +        """
> +        covers, patches, _ = self._parse_mbox(
> +            'base-incomplete.mbox', [1, 1, 0])
> +
> +        self.assertSerialized(patches, [1])
> +        self.assertSerialized(covers, [1])
> +
> +        series = patches[0].latest_series
> +        self.assertFalse(series.received_all)
> +
> +    def test_complete(self):
> +        """Series received with expected number of patches.
> +
> +        Parse a series where all patches are received as expected.
> +
> +        Input:
> +
> +          - [PATCH 0/2] A sample series
> +            - [PATCH 1/2] test: Add some lorem ipsum
> +            - [PATCH 2/2] test: Convert to Markdown
> +        """
> +        covers, patches, _ = self._parse_mbox(
> +            'base-cover-letter.mbox', [1, 2, 0])
> +
> +        self.assertSerialized(covers, [1])
> +        self.assertSerialized(patches, [2])
> +
> +        series = patches[0].latest_series
> +        self.assertTrue(series.received_all)
> +
> +    def test_extra_patches(self):
> +        """Series received with additional patches.
> +
> +        Parse a series where an additional patch was later sent.
> +
> +        Input:
> +
> +          - [PATCH 0/2] A sample series
> +            - [PATCH 1/2] test: Add some lorem ipsum
> +            - [PATCH 2/2] test: Convert to Markdown
> +            - [PATCH 3/n] test: Remove Markdown formatting
> +        """
> +        covers, patches, _ = self._parse_mbox(
> +            'base-extra-patches.mbox', [1, 3, 0])
> +
> +        self.assertSerialized(covers, [1])
> +        self.assertSerialized(patches, [3])
> +
> +        series = patches[0].latest_series
> +        self.assertTrue(series.received_all)
> +
> +
>  class SeriesNameTestCase(TestCase):
>  
>      def setUp(self):
> -- 
> 2.9.3
>
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork


More information about the Patchwork mailing list