diff mbox series

[v2,2/6] oeqa runtime apt.py: check errors and fix quoting

Message ID 20250701073359.979368-2-mikko.rapeli@linaro.org
State New
Headers show
Series [v2,1/6] oeqa runtime: set self.runner and handle None | expand

Commit Message

Mikko Rapeli July 1, 2025, 7:33 a.m. UTC
Check that shell commands succeeded and fix quoting
warning:

core-image-minimal/lib/oeqa/runtime/cases/apt.py:44: SyntaxWarning: invalid escape sequence '\['
  self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta/lib/oeqa/runtime/cases/apt.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Richard Purdie July 2, 2025, 9:42 a.m. UTC | #1
On Tue, 2025-07-01 at 10:33 +0300, Mikko Rapeli via lists.openembedded.org wrote:
> Check that shell commands succeeded and fix quoting
> warning:
> 
> core-image-minimal/lib/oeqa/runtime/cases/apt.py:44: SyntaxWarning: invalid escape sequence '\['
>   self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  meta/lib/oeqa/runtime/cases/apt.py | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
> index 8000645843aa..b7cda0095394 100644
> --- a/meta/lib/oeqa/runtime/cases/apt.py
> +++ b/meta/lib/oeqa/runtime/cases/apt.py
> @@ -36,12 +36,12 @@ class AptRepoTest(AptTest):
>      def setup_source_config_for_package_install(self):
>          apt_get_source_server = 'http://%s:%s/' % (self.tc.target.server_ip, self.repo_server.port)
>          apt_get_sourceslist_dir = '/etc/apt/'
> -        self.target.run('cd %s; echo deb [ allow-insecure=yes ] %s/all ./ > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
> +        self.target.run('cd %s && echo "deb [ allow-insecure=yes ] %s/all ./" > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
>  
>      def setup_source_config_for_package_install_signed(self):
>          apt_get_source_server = 'http://%s:%s' % (self.tc.target.server_ip, self.repo_server.port)
>          apt_get_sourceslist_dir = '/etc/apt/'
> -        self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
> +        self.target.run("cd %s && cp sources.list sources.list.bak && sed -i 's|[trusted=yes] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
>  
>      def cleanup_source_config_for_package_install(self):
>          apt_get_sourceslist_dir = '/etc/apt/'
> @@ -49,12 +49,12 @@ class AptRepoTest(AptTest):
>  
>      def cleanup_source_config_for_package_install_signed(self):
>          apt_get_sourceslist_dir = '/etc/apt/'
> -        self.target.run('cd %s; mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
> +        self.target.run('cd %s && mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
>  
>      def setup_key(self):
>          # the key is found on the target /etc/pki/packagefeed-gpg/
>          # named PACKAGEFEED-GPG-KEY-poky-branch
> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> +        self.target.run('cd %s && apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
>  
>      @skipIfNotFeature('package-management',
>                        'Test requires package-management to be in IMAGE_FEATURES')
> 

This breaks the test on the autobuilder:

https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1885

(or it was broken and hiding an error)

Either way, we need to fix this before it can merge.

Cheers,

Richard
Mikko Rapeli July 2, 2025, 9:50 a.m. UTC | #2
Hi,

On Wed, Jul 02, 2025 at 10:42:26AM +0100, Richard Purdie wrote:
> On Tue, 2025-07-01 at 10:33 +0300, Mikko Rapeli via lists.openembedded.org wrote:
> > Check that shell commands succeeded and fix quoting
> > warning:
> > 
> > core-image-minimal/lib/oeqa/runtime/cases/apt.py:44: SyntaxWarning: invalid escape sequence '\['
> > � self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g'�sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
> > 
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > ---
> > �meta/lib/oeqa/runtime/cases/apt.py | 8 ++++----
> > �1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
> > index 8000645843aa..b7cda0095394 100644
> > --- a/meta/lib/oeqa/runtime/cases/apt.py
> > +++ b/meta/lib/oeqa/runtime/cases/apt.py
> > @@ -36,12 +36,12 @@ class AptRepoTest(AptTest):
> > ���� def setup_source_config_for_package_install(self):
> > �������� apt_get_source_server = 'http://%s:%s/'�% (self.tc.target.server_ip, self.repo_server.port)
> > �������� apt_get_sourceslist_dir = '/etc/apt/'
> > -������� self.target.run('cd %s; echo deb [ allow-insecure=yes ] %s/all ./ > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
> > +������� self.target.run('cd %s && echo "deb [ allow-insecure=yes ] %s/all ./" > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
> > �
> > ���� def setup_source_config_for_package_install_signed(self):
> > �������� apt_get_source_server = 'http://%s:%s'�% (self.tc.target.server_ip, self.repo_server.port)
> > �������� apt_get_sourceslist_dir = '/etc/apt/'
> > -������� self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g'�sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
> > +������� self.target.run("cd %s && cp sources.list sources.list.bak && sed -i 's|[trusted=yes] http://bogus_ip:bogus_port|%s|g'�sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
> > �
> > ���� def cleanup_source_config_for_package_install(self):
> > �������� apt_get_sourceslist_dir = '/etc/apt/'
> > @@ -49,12 +49,12 @@ class AptRepoTest(AptTest):
> > �
> > ���� def cleanup_source_config_for_package_install_signed(self):
> > �������� apt_get_sourceslist_dir = '/etc/apt/'
> > -������� self.target.run('cd %s; mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
> > +������� self.target.run('cd %s && mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
> > �
> > ���� def setup_key(self):
> > �������� # the key is found on the target /etc/pki/packagefeed-gpg/
> > �������� # named PACKAGEFEED-GPG-KEY-poky-branch
> > -������� self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> > +������� self.target.run('cd %s && apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> > �
> > ���� @skipIfNotFeature('package-management',
> > ���������������������� 'Test requires package-management to be in IMAGE_FEATURES')
> > 
> 
> This breaks the test on the autobuilder:
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/1885
> 
> (or it was broken and hiding an error)
> 
> Either way, we need to fix this before it can merge.

Thanks, I came to the same conclusion from the failures reported by Antonin.

I dropped this change from the testexport related series in v3.

Cheers,

-Mikko
diff mbox series

Patch

diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
index 8000645843aa..b7cda0095394 100644
--- a/meta/lib/oeqa/runtime/cases/apt.py
+++ b/meta/lib/oeqa/runtime/cases/apt.py
@@ -36,12 +36,12 @@  class AptRepoTest(AptTest):
     def setup_source_config_for_package_install(self):
         apt_get_source_server = 'http://%s:%s/' % (self.tc.target.server_ip, self.repo_server.port)
         apt_get_sourceslist_dir = '/etc/apt/'
-        self.target.run('cd %s; echo deb [ allow-insecure=yes ] %s/all ./ > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
+        self.target.run('cd %s && echo "deb [ allow-insecure=yes ] %s/all ./" > sources.list' % (apt_get_sourceslist_dir, apt_get_source_server))
 
     def setup_source_config_for_package_install_signed(self):
         apt_get_source_server = 'http://%s:%s' % (self.tc.target.server_ip, self.repo_server.port)
         apt_get_sourceslist_dir = '/etc/apt/'
-        self.target.run("cd %s; cp sources.list sources.list.bak; sed -i 's|\[trusted=yes\] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
+        self.target.run("cd %s && cp sources.list sources.list.bak && sed -i 's|[trusted=yes] http://bogus_ip:bogus_port|%s|g' sources.list" % (apt_get_sourceslist_dir, apt_get_source_server))
 
     def cleanup_source_config_for_package_install(self):
         apt_get_sourceslist_dir = '/etc/apt/'
@@ -49,12 +49,12 @@  class AptRepoTest(AptTest):
 
     def cleanup_source_config_for_package_install_signed(self):
         apt_get_sourceslist_dir = '/etc/apt/'
-        self.target.run('cd %s; mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
+        self.target.run('cd %s && mv sources.list.bak sources.list' % (apt_get_sourceslist_dir))
 
     def setup_key(self):
         # the key is found on the target /etc/pki/packagefeed-gpg/
         # named PACKAGEFEED-GPG-KEY-poky-branch
-        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
+        self.target.run('cd %s && apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
 
     @skipIfNotFeature('package-management',
                       'Test requires package-management to be in IMAGE_FEATURES')