diff mbox series

[v2] oeqa devtool: Add tests to cover devtool handling of various git URL styles

Message ID 20220804134920.167173-1-throos@amazon.de
State Accepted, archived
Commit 5593439a5efbb53fc46099650ae86943751b0c4e
Headers show
Series [v2] oeqa devtool: Add tests to cover devtool handling of various git URL styles | expand

Commit Message

Roos, Thomas Aug. 4, 2022, 1:49 p.m. UTC
Add two test cases for git URL styles that trigger reformat_git_url.

[YOCTO #11394]

Signed-off-by: Thomas Roos <throos@amazon.de>
---
 meta/lib/oeqa/selftest/cases/devtool.py | 34 ++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

Comments

Luca Ceresoli Aug. 8, 2022, 7:18 a.m. UTC | #1
Hello Thomas,

On Thu, 4 Aug 2022 15:49:20 +0200
"Thomas Roos via lists.openembedded.org" <throos=amazon.de@lists.openembedded.org> wrote:
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

As you can see above, your sender address is getting mangled. This is
not your fault, it is done by DMARC for anti-phishing, but it makes
applying your patches annoying.

Can you please try to work around that by setting the sendemail.from
parameter in your git config?

You can read the details in this discussion:
https://lists.openembedded.org/g/openembedded-core/message/166515?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3Acreated%2C0%2Crootfs.py%3A+find+.ko.zst+kernel+modules%2C20%2C2%2C0%2C91453338

Thank you very much!

See below for some comments on your patch.

> Add two test cases for git URL styles that trigger reformat_git_url.
> 
> [YOCTO #11394]
> 
> Signed-off-by: Thomas Roos <throos@amazon.de>
> ---
>  meta/lib/oeqa/selftest/cases/devtool.py | 34 ++++++++++++++++++++++++-
>  1 file changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
> index 34fc791f3a..5a4b0d375c 100644
> --- a/meta/lib/oeqa/selftest/cases/devtool.py
> +++ b/meta/lib/oeqa/selftest/cases/devtool.py
> @@ -246,6 +246,22 @@ class DevtoolTestCase(OESelftestTestCase):
>          if remaining_removelines:
>              self.fail('Expected removed lines not found: %s' % remaining_removelines)
>  
> +    def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri):
> +        self.track_for_cleanup(self.workspacedir)
> +        self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')        

Trailing whitespace here.

> +        result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url))
> +        self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
> +        # Check the recipe name is correct
> +        recipefile = get_bb_var('FILE', pn)
> +        self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named')
> +        self.assertIn(recipefile, result.output)
> +        # Test devtool status
> +        result = runCmd('devtool status')
> +        self.assertIn(pn, result.output)
> +        self.assertIn(recipefile, result.output)
> +        checkvars = {}
> +        checkvars['SRC_URI'] = resulting_src_uri
> +        self._test_recipe_contents(recipefile, checkvars, [])
>  
>  class DevtoolBase(DevtoolTestCase):
>  
> @@ -379,6 +395,22 @@ class DevtoolAddTests(DevtoolBase):
>          checkvars['SRCREV'] = srcrev
>          checkvars['DEPENDS'] = set(['dbus'])
>          self._test_recipe_contents(recipefile, checkvars, [])
> +    

Trailing whitespace here too.

> +    def test_devtool_add_git_style1(self):
> +        version = 'v3.1.0'
> +        pn = 'mbedtls'
> +        # this will trigger reformat_git_uri with branch parameter in url
> +        git_url = "'git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https'"
> +        resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https"
> +        self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
> +
> +    def test_devtool_add_git_style2(self):
> +        version = 'v3.1.0'
> +        pn = 'mbedtls'
> +        # this will trigger reformat_git_uri with branch parameter in url
> +        git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
> +        resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
> +        self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
>  
>      def test_devtool_add_library(self):
>          # Fetch source
> @@ -540,7 +572,7 @@ class DevtoolAddTests(DevtoolBase):
>          result = runCmd('devtool status')
>          self.assertIn(testrecipe, result.output)
>          self.assertIn(srcdir, result.output)
> -        # Check recipe
> +        # Check recipedevtool add

This change looks wrong...
Luca Ceresoli Aug. 8, 2022, 1:19 p.m. UTC | #2
Hi Thomas,

On Mon, 8 Aug 2022 08:39:59 +0000
"Roos, Thomas" <throos@amazon.de> wrote:

> Hi Luca,
> thank you for this - will update my patch and try with the sendemail.from parameter.
> The correct procedure will be creating a v3 patch and send as new again?

The correct thing would be to configure your git sendemail.from
parameter, fix the issues I reported, and send a v3 with those fixed.

Thanks!
Luca
Richard Purdie Aug. 8, 2022, 3:11 p.m. UTC | #3
On Mon, 2022-08-08 at 15:19 +0200, Luca Ceresoli via
lists.openembedded.org wrote:
> Hi Thomas,
> 
> On Mon, 8 Aug 2022 08:39:59 +0000
> "Roos, Thomas" <throos@amazon.de> wrote:
> 
> > Hi Luca,
> > thank you for this - will update my patch and try with the sendemail.from parameter.
> > The correct procedure will be creating a v3 patch and send as new again?
> 
> The correct thing would be to configure your git sendemail.from
> parameter, fix the issues I reported, and send a v3 with those fixed.

I think I merged this into master-next in the meantime so there isn't a
need for a v3 in this case.

Cheers,

Richard
Roos, Thomas Aug. 9, 2022, 7 a.m. UTC | #4
Hi Richard, Hi Luca,
thank you!

Cheers, 
Thomas
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 34fc791f3a..5a4b0d375c 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -246,6 +246,22 @@  class DevtoolTestCase(OESelftestTestCase):
         if remaining_removelines:
             self.fail('Expected removed lines not found: %s' % remaining_removelines)
 
+    def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri):
+        self.track_for_cleanup(self.workspacedir)
+        self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')        
+        result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url))
+        self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
+        # Check the recipe name is correct
+        recipefile = get_bb_var('FILE', pn)
+        self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named')
+        self.assertIn(recipefile, result.output)
+        # Test devtool status
+        result = runCmd('devtool status')
+        self.assertIn(pn, result.output)
+        self.assertIn(recipefile, result.output)
+        checkvars = {}
+        checkvars['SRC_URI'] = resulting_src_uri
+        self._test_recipe_contents(recipefile, checkvars, [])
 
 class DevtoolBase(DevtoolTestCase):
 
@@ -379,6 +395,22 @@  class DevtoolAddTests(DevtoolBase):
         checkvars['SRCREV'] = srcrev
         checkvars['DEPENDS'] = set(['dbus'])
         self._test_recipe_contents(recipefile, checkvars, [])
+    
+    def test_devtool_add_git_style1(self):
+        version = 'v3.1.0'
+        pn = 'mbedtls'
+        # this will trigger reformat_git_uri with branch parameter in url
+        git_url = "'git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https'"
+        resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https"
+        self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
+
+    def test_devtool_add_git_style2(self):
+        version = 'v3.1.0'
+        pn = 'mbedtls'
+        # this will trigger reformat_git_uri with branch parameter in url
+        git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
+        resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
+        self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
 
     def test_devtool_add_library(self):
         # Fetch source
@@ -540,7 +572,7 @@  class DevtoolAddTests(DevtoolBase):
         result = runCmd('devtool status')
         self.assertIn(testrecipe, result.output)
         self.assertIn(srcdir, result.output)
-        # Check recipe
+        # Check recipedevtool add
         recipefile = get_bb_var('FILE', testrecipe)
         self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named')
         checkvars = {}