Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox