All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules
@ 2018-12-04  4:37 Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 1/7] scancpan: mark XS modules in docstring of test Francois Perrad
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Testing pure Perl modules has few added value.
So, it is important that XS modules are marked.

Francois Perrad (7):
  scancpan: mark XS modules in docstring of test
  support/testing/tests/packages/test_perl_*: regeneration
  scancpan: allow the generation of more tests
  support/testing: add perl-dbd-mysql test
  support/testing: add perl-encode-decode test
  support/testing: add perl-io-socket-multicast test
  support/testing: add perl-io-socket-ssl test

 .../tests/package/test_perl_class_load.py     |  4 ++--
 .../tests/package/test_perl_dbd_mysql.py      | 21 +++++++++++++++++++
 .../tests/package/test_perl_encode_detect.py  | 20 ++++++++++++++++++
 .../tests/package/test_perl_gdgraph.py        |  2 +-
 .../package/test_perl_io_socket_multicast.py  | 21 +++++++++++++++++++
 .../tests/package/test_perl_io_socket_ssl.py  | 21 +++++++++++++++++++
 .../tests/package/test_perl_libwww_perl.py    |  2 +-
 .../tests/package/test_perl_mail_dkim.py      |  6 +++---
 .../testing/tests/package/test_perl_x10.py    |  2 +-
 .../tests/package/test_perl_xml_libxml.py     |  2 +-
 utils/scancpan                                | 12 ++++++-----
 11 files changed, 99 insertions(+), 14 deletions(-)
 create mode 100644 support/testing/tests/package/test_perl_dbd_mysql.py
 create mode 100644 support/testing/tests/package/test_perl_encode_detect.py
 create mode 100644 support/testing/tests/package/test_perl_io_socket_multicast.py
 create mode 100644 support/testing/tests/package/test_perl_io_socket_ssl.py

-- 
2.17.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/7] scancpan: mark XS modules in docstring of test
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 2/7] support/testing/tests/packages/test_perl_*: regeneration Francois Perrad
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 utils/scancpan | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/utils/scancpan b/utils/scancpan
index 2a58591e5..45709e166 100755
--- a/utils/scancpan
+++ b/utils/scancpan
@@ -519,6 +519,7 @@ my %dist;               # name -> metacpan data
 my %need_target;        # name -> 1 if target package is needed
 my %need_host;          # name -> 1 if host package is needed
 my %need_dlopen;        # name -> 1 if requires dynamic library
+my %is_xs;              # name -> 1 if XS module
 my %deps_build;         # name -> list of host dependencies
 my %deps_runtime;       # name -> list of target dependencies
 my %license_files;      # name -> hash of license files
@@ -614,7 +615,7 @@ sub fetch {
             my $author = $result->{author};
             my $release = $name . q{-} . $result->{version};
             my $manifest = $mcpan->source( author => $author, release => $release, path => 'MANIFEST' );
-            $need_dlopen{$name} = is_xs( $manifest );
+            $need_dlopen{$name} = $is_xs{$name} = is_xs( $manifest );
             foreach my $fname (find_license_files( $manifest )) {
                 my $license = $mcpan->source( author => $author, release => $release, path => $fname );
                 $license_files{$name}->{$fname} = sha256_hex( $license );
@@ -811,6 +812,7 @@ while (my ($distname, $dist) = each %dist) {
         $classname =~ s|-||g;
         my $modname = $distname;
         $modname =~ s|-|::|g;
+        my $mark = $is_xs{$distname} ? q{   XS} : q{};
         my @indirect = (get_indirect_dependencies( $distname ));
         say qq{write ${testname}} unless $quiet;
         open my $fh, q{>}, $testname;
@@ -820,16 +822,16 @@ while (my ($distname, $dist) = each %dist) {
         say {$fh} qq{class TestPerl${classname}(TestPerlBase):};
         say {$fh} qq{    """};
         say {$fh} qq{    package:};
-        say {$fh} qq{        ${distname}};
+        say {$fh} qq{        ${distname}${mark}};
         say {$fh} qq{    direct dependencies:};
         foreach my $dep (sort @{$deps_runtime{$distname}}) {
-            my $mark = want_test( $dep ) ? q{ *} : q{};
+            $mark = $is_xs{$dep} ? q{   XS} : q{};
             say {$fh} qq{        ${dep}${mark}};
         }
         if (scalar @indirect > 0) {
             say {$fh} qq{    indirect dependencies:};
             foreach my $dep (sort @indirect) {
-                my $mark = want_test( $dep ) ? q{ *} : q{};
+                $mark = $is_xs{$dep} ? q{   XS} : q{};
                 say {$fh} qq{        ${dep}${mark}};
             }
         }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/7] support/testing/tests/packages/test_perl_*: regeneration
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 1/7] scancpan: mark XS modules in docstring of test Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 3/7] scancpan: allow the generation of more tests Francois Perrad
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 support/testing/tests/package/test_perl_class_load.py  | 4 ++--
 support/testing/tests/package/test_perl_gdgraph.py     | 2 +-
 support/testing/tests/package/test_perl_libwww_perl.py | 2 +-
 support/testing/tests/package/test_perl_mail_dkim.py   | 6 +++---
 support/testing/tests/package/test_perl_x10.py         | 2 +-
 support/testing/tests/package/test_perl_xml_libxml.py  | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/support/testing/tests/package/test_perl_class_load.py b/support/testing/tests/package/test_perl_class_load.py
index 1e86c0374..fbcd904aa 100644
--- a/support/testing/tests/package/test_perl_class_load.py
+++ b/support/testing/tests/package/test_perl_class_load.py
@@ -6,14 +6,14 @@ class TestPerlClassLoad(TestPerlBase):
     package:
         Class-Load
     direct dependencies:
-        Data-OptList *
+        Data-OptList
         Module-Implementation
         Module-Runtime
         Package-Stash
         Try-Tiny
     indirect dependencies:
         Dist-CheckConflicts
-        Params-Util
+        Params-Util   XS
         Sub-Install
     """
 
diff --git a/support/testing/tests/package/test_perl_gdgraph.py b/support/testing/tests/package/test_perl_gdgraph.py
index 16cd8cb8e..23ddbca4a 100644
--- a/support/testing/tests/package/test_perl_gdgraph.py
+++ b/support/testing/tests/package/test_perl_gdgraph.py
@@ -6,7 +6,7 @@ class TestPerlGDGraph(TestPerlBase):
     package:
         GDGraph
     direct dependencies:
-        GD
+        GD   XS
         GDTextUtil
     """
 
diff --git a/support/testing/tests/package/test_perl_libwww_perl.py b/support/testing/tests/package/test_perl_libwww_perl.py
index e777071bb..af9f7c7ed 100644
--- a/support/testing/tests/package/test_perl_libwww_perl.py
+++ b/support/testing/tests/package/test_perl_libwww_perl.py
@@ -8,7 +8,7 @@ class TestPerllibwwwperl(TestPerlBase):
     direct dependencies:
         Encode-Locale
         File-Listing
-        HTML-Parser
+        HTML-Parser   XS
         HTTP-Cookies
         HTTP-Daemon
         HTTP-Date
diff --git a/support/testing/tests/package/test_perl_mail_dkim.py b/support/testing/tests/package/test_perl_mail_dkim.py
index dc4d4bb3a..7affce82b 100644
--- a/support/testing/tests/package/test_perl_mail_dkim.py
+++ b/support/testing/tests/package/test_perl_mail_dkim.py
@@ -6,13 +6,13 @@ class TestPerlMailDKIM(TestPerlBase):
     package:
         Mail-DKIM
     direct dependencies:
-        Crypt-OpenSSL-RSA
+        Crypt-OpenSSL-RSA   XS
         MailTools
         Net-DNS
         Net-DNS-Resolver-Mock
-        YAML-LibYAML
+        YAML-LibYAML   XS
     indirect dependencies:
-        Crypt-OpenSSL-Random
+        Crypt-OpenSSL-Random   XS
         Digest-HMAC
         TimeDate
     """
diff --git a/support/testing/tests/package/test_perl_x10.py b/support/testing/tests/package/test_perl_x10.py
index 46f247f2d..84feb74e6 100644
--- a/support/testing/tests/package/test_perl_x10.py
+++ b/support/testing/tests/package/test_perl_x10.py
@@ -7,7 +7,7 @@ class TestPerlX10(TestPerlBase):
         X10
     direct dependencies:
         Astro-SunTime
-        Device-SerialPort
+        Device-SerialPort   XS
         Time-ParseDate
     """
 
diff --git a/support/testing/tests/package/test_perl_xml_libxml.py b/support/testing/tests/package/test_perl_xml_libxml.py
index 76eacfaea..faace5dd0 100644
--- a/support/testing/tests/package/test_perl_xml_libxml.py
+++ b/support/testing/tests/package/test_perl_xml_libxml.py
@@ -4,7 +4,7 @@ from tests.package.test_perl import TestPerlBase
 class TestPerlXMLLibXML(TestPerlBase):
     """
     package:
-        XML-LibXML
+        XML-LibXML   XS
     direct dependencies:
         XML-NamespaceSupport
         XML-SAX
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/7] scancpan: allow the generation of more tests
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 1/7] scancpan: mark XS modules in docstring of test Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 2/7] support/testing/tests/packages/test_perl_*: regeneration Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 4/7] support/testing: add perl-dbd-mysql test Francois Perrad
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 utils/scancpan | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/utils/scancpan b/utils/scancpan
index 45709e166..229ca1056 100755
--- a/utils/scancpan
+++ b/utils/scancpan
@@ -578,7 +578,7 @@ sub find_license_files {
 
 sub want_test {
     my ($distname) = @_;
-    return 1 if $need_dlopen{$distname} && scalar @{$deps_runtime{$distname}} > 1;
+    return 1 if $need_dlopen{$distname} && scalar @{$deps_runtime{$distname}} > 0;
 }
 
 sub get_dependencies {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/7] support/testing: add perl-dbd-mysql test
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
                   ` (2 preceding siblings ...)
  2018-12-04  4:37 ` [Buildroot] [PATCH 3/7] scancpan: allow the generation of more tests Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 5/7] support/testing: add perl-encode-decode test Francois Perrad
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 .../tests/package/test_perl_dbd_mysql.py      | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_dbd_mysql.py

diff --git a/support/testing/tests/package/test_perl_dbd_mysql.py b/support/testing/tests/package/test_perl_dbd_mysql.py
new file mode 100644
index 000000000..f8fe832b4
--- /dev/null
+++ b/support/testing/tests/package/test_perl_dbd_mysql.py
@@ -0,0 +1,21 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlDBDmysql(TestPerlBase):
+    """
+    package:
+        DBD-mysql   XS
+    direct dependencies:
+        DBI   XS
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_DBD_MYSQL=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("DBI")
+        self.module_test("DBD::mysql")
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 5/7] support/testing: add perl-encode-decode test
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
                   ` (3 preceding siblings ...)
  2018-12-04  4:37 ` [Buildroot] [PATCH 4/7] support/testing: add perl-dbd-mysql test Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 6/7] support/testing: add perl-io-socket-multicast test Francois Perrad
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 .../tests/package/test_perl_encode_detect.py  | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_encode_detect.py

diff --git a/support/testing/tests/package/test_perl_encode_detect.py b/support/testing/tests/package/test_perl_encode_detect.py
new file mode 100644
index 000000000..4b33fee01
--- /dev/null
+++ b/support/testing/tests/package/test_perl_encode_detect.py
@@ -0,0 +1,20 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlEncodeDetect(TestPerlBase):
+    """
+    package:
+        Encode-Detect   XS
+    direct dependencies:
+        Module-Build
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_ENCODE_DETECT=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("Encode::Detect")
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 6/7] support/testing: add perl-io-socket-multicast test
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
                   ` (4 preceding siblings ...)
  2018-12-04  4:37 ` [Buildroot] [PATCH 5/7] support/testing: add perl-encode-decode test Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-04  4:37 ` [Buildroot] [PATCH 7/7] support/testing: add perl-io-socket-ssl test Francois Perrad
  2018-12-06 21:34 ` [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Thomas Petazzoni
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 .../package/test_perl_io_socket_multicast.py  | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_io_socket_multicast.py

diff --git a/support/testing/tests/package/test_perl_io_socket_multicast.py b/support/testing/tests/package/test_perl_io_socket_multicast.py
new file mode 100644
index 000000000..48a086a6f
--- /dev/null
+++ b/support/testing/tests/package/test_perl_io_socket_multicast.py
@@ -0,0 +1,21 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlIOSocketMulticast(TestPerlBase):
+    """
+    package:
+        IO-Socket-Multicast   XS
+    direct dependencies:
+        IO-Interface   XS
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_IO_SOCKET_MULTICAST=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("IO::Interface")
+        self.module_test("IO::Socket::Multicast")
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 7/7] support/testing: add perl-io-socket-ssl test
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
                   ` (5 preceding siblings ...)
  2018-12-04  4:37 ` [Buildroot] [PATCH 6/7] support/testing: add perl-io-socket-multicast test Francois Perrad
@ 2018-12-04  4:37 ` Francois Perrad
  2018-12-06 21:34 ` [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Thomas Petazzoni
  7 siblings, 0 replies; 9+ messages in thread
From: Francois Perrad @ 2018-12-04  4:37 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 .../tests/package/test_perl_io_socket_ssl.py  | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_io_socket_ssl.py

diff --git a/support/testing/tests/package/test_perl_io_socket_ssl.py b/support/testing/tests/package/test_perl_io_socket_ssl.py
new file mode 100644
index 000000000..51663e837
--- /dev/null
+++ b/support/testing/tests/package/test_perl_io_socket_ssl.py
@@ -0,0 +1,21 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlIOSocketSSL(TestPerlBase):
+    """
+    package:
+        IO-Socket-SSL
+    direct dependencies:
+        Net-SSLeay   XS
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_IO_SOCKET_SSL=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("Net::SSLeay")
+        self.module_test("IO::Socket::SSL")
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules
  2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
                   ` (6 preceding siblings ...)
  2018-12-04  4:37 ` [Buildroot] [PATCH 7/7] support/testing: add perl-io-socket-ssl test Francois Perrad
@ 2018-12-06 21:34 ` Thomas Petazzoni
  7 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2018-12-06 21:34 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  4 Dec 2018 05:37:47 +0100, Francois Perrad wrote:

> Francois Perrad (7):
>   scancpan: mark XS modules in docstring of test
>   support/testing/tests/packages/test_perl_*: regeneration
>   scancpan: allow the generation of more tests
>   support/testing: add perl-dbd-mysql test
>   support/testing: add perl-encode-decode test
>   support/testing: add perl-io-socket-multicast test
>   support/testing: add perl-io-socket-ssl test

Thanks, series applied. I added a patch that regenerates
the .gitlab-ci.yml file so that the new tests are really used.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-12-06 21:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-04  4:37 [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 1/7] scancpan: mark XS modules in docstring of test Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 2/7] support/testing/tests/packages/test_perl_*: regeneration Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 3/7] scancpan: allow the generation of more tests Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 4/7] support/testing: add perl-dbd-mysql test Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 5/7] support/testing: add perl-encode-decode test Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 6/7] support/testing: add perl-io-socket-multicast test Francois Perrad
2018-12-04  4:37 ` [Buildroot] [PATCH 7/7] support/testing: add perl-io-socket-ssl test Francois Perrad
2018-12-06 21:34 ` [Buildroot] [PATCH 0/7] suppport/testing: more Perl/CPAN modules Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.