Skip to contentSkip to conversation

suppport/testing: Perl interpreter and CPAN modules

PATCH New Francois Perrad 4 participants 15 messages Nov 24, 2018 – Dec 3, 2018

lore
Share & tools
lore
#0 lore raw

v3 cover suppport/testing: Perl interpreter and CPAN modules

test_perl.py allows to test the Perl interpreter and some of its core modules, and it is used as base class for testing CPAN modules.

Now, scancpan could generate test for CPAN modules.
Currently, there are more than 100 CPAN modules, 25 of them are XS modules. In order to limit the number of tests (and the execution time),
a test is generated only if the module have more than one direct dependencies and have at least one XS dependencies.

V2-> V3
- test core module 'IO::Handle' instead of 'IO'

V1 -> V2
- refactor with TestPerlBase class
- check "This is perl 5"

Francois Perrad (8):
support/testing: add perl test
scancpan: add generation of test
support/testing: add perl-class-load test
support/testing: add perl-gdgraph test
support/testing: add perl-libwww-perl test
support/testing: add perl-mail-dkim test
support/testing: add perl-x10 test
support/testing: add perl-xml-libxml test

 .gitlab-ci.yml                                |  7 ++
 support/testing/tests/package/test_perl.py    | 66 ++++++++++++++++++
 .../tests/package/test_perl_class_load.py     | 28 ++++++++
 .../tests/package/test_perl_gdgraph.py        | 22 ++++++
 .../tests/package/test_perl_libwww_perl.py    | 41 ++++++++++++
 .../tests/package/test_perl_mail_dkim.py      | 28 ++++++++
 .../testing/tests/package/test_perl_x10.py    | 22 ++++++
 .../tests/package/test_perl_xml_libxml.py     | 22 ++++++
 utils/scancpan                                | 67 +++++++++++++++++++
 9 files changed, 303 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl.py
 create mode 100644 support/testing/tests/package/test_perl_class_load.py
 create mode 100644 support/testing/tests/package/test_perl_gdgraph.py
 create mode 100644 support/testing/tests/package/test_perl_libwww_perl.py
 create mode 100644 support/testing/tests/package/test_perl_mail_dkim.py
 create mode 100644 support/testing/tests/package/test_perl_x10.py
 create mode 100644 support/testing/tests/package/test_perl_xml_libxml.py
Signature · 1 line
2.17.1
#1 lore raw

PATCH v3 1/8 support/testing: add perl test

---
 .gitlab-ci.yml                             |  1 +
 support/testing/tests/package/test_perl.py | 66 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl.py
.gitlab-ci.yml +1 -0
index bb488e1fc..3a8ba1109 100644
@@ -312,6 +312,7 @@ tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: *runtime_test
 tests.package.test_dropbear.TestDropbear: *runtime_test
 tests.package.test_ipython.TestIPythonPy2: *runtime_test
 tests.package.test_ipython.TestIPythonPy3: *runtime_test
+tests.package.test_perl.TestPerl: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl.py new file +66 -0

66 lines not on this page · raw message

Signature · 1 line
2.17.1
#3 lore raw

PATCH v3 2/8 scancpan: add generation of test

In reply to Francois Perrad
---
 utils/scancpan | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
utils/scancpan +67 -0
index 78ea08c6e..2a58591e5 100755
@@ -575,6 +575,32 @@ sub find_license_files {
     return @license_files;
 }
 
+sub want_test {
+    my ($distname) = @_;
+    return 1 if $need_dlopen{$distname} && scalar @{$deps_runtime{$distname}} > 1;
+}
+
+sub get_dependencies {
+    my ($distname) = @_;
+    my %dep = map { $_ => 1 } @{$deps_runtime{$distname}};
+    for my $direct (@{$deps_runtime{$distname}}) {
+        for (get_dependencies( $direct )) {
+            $dep{$_} = 1;
+        }
+    }
+    return keys %dep;
+}
+
+sub get_indirect_dependencies {
+    my ($distname) = @_;
+    my %indirect;
+    my %direct = map { $_ => 1 } @{$deps_runtime{$distname}};
+    for my $dep (get_dependencies( $distname )) {
+        $indirect{$dep} = 1 unless exists $direct{$dep};
+    }
+    return keys %indirect;
+}
+
 sub fetch {
     my ($name, $need_target, $need_host, $top) = @_;
     $need_target{$name} = $need_target if $need_target;
@@ -688,6 +714,7 @@ while (my ($distname, $dist) = each %dist) {
     my $mkname = $dirname . q{/} . $fsname . q{.mk};
     my $hashname = $dirname . q{/} . $fsname . q{.hash};
     my $brname = brname( $fsname );
+    my $testname = q{support/testing/tests/package/test_} . lc $brname . q{.py};
     unless (-d $dirname) {
         mkdir $dirname;
         $new_pkgs = 1;
@@ -779,6 +806,46 @@ while (my ($distname, $dist) = each %dist) {
         }
         close $fh;
     }
+    if (want_test( $distname ) && ($force || !-f $testname)) {
+        my $classname = $distname;
+        $classname =~ s|-||g;
+        my $modname = $distname;
+        $modname =~ s|-|::|g;
+        my @indirect = (get_indirect_dependencies( $distname ));
+        say qq{write ${testname}} unless $quiet;
+        open my $fh, q{>}, $testname;
+        say {$fh} qq{from tests.package.test_perl import TestPerlBase};
+        say {$fh} qq{};
+        say {$fh} qq{};
+        say {$fh} qq{class TestPerl${classname}(TestPerlBase):};
+        say {$fh} qq{    """};
+        say {$fh} qq{    package:};
+        say {$fh} qq{        ${distname}};
+        say {$fh} qq{    direct dependencies:};
+        foreach my $dep (sort @{$deps_runtime{$distname}}) {
+            my $mark = want_test( $dep ) ? q{ *} : 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{};
+                say {$fh} qq{        ${dep}${mark}};
+            }
+        }
+        say {$fh} qq{    """};
+        say {$fh} qq{};
+        say {$fh} qq{    config = TestPerlBase.config + \\};
+        say {$fh} qq{        """};
+        say {$fh} qq{        BR2_PACKAGE_PERL=y};
+        say {$fh} qq{        BR2_PACKAGE_${brname}=y};
+        say {$fh} qq{        """};
+        say {$fh} qq{};
+        say {$fh} qq{    def test_run(self):};
+        say {$fh} qq{        self.login()};
+        say {$fh} qq{        self.module_test("${modname}")};
+        close $fh;
+    }
 }
 
 if ($new_pkgs) {
Signature · 1 line
2.17.1
#4 lore raw

PATCH v3 3/8 support/testing: add perl-class-load test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872329]
---
 .gitlab-ci.yml                                |  1 +
 .../tests/package/test_perl_class_load.py     | 28 +++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_class_load.py
.gitlab-ci.yml +1 -0
index 3a8ba1109..e315e78f0 100644
@@ -313,6 +313,7 @@ tests.package.test_dropbear.TestDropbear: *runtime_test
 tests.package.test_ipython.TestIPythonPy2: *runtime_test
 tests.package.test_ipython.TestIPythonPy3: *runtime_test
 tests.package.test_perl.TestPerl: *runtime_test
+tests.package.test_perl_class_load.TestPerlClassLoad: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_class_load.py new file +28 -0
new file mode 100644
index 000000000..1e86c0374
@@ -0,0 +1,28 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlClassLoad(TestPerlBase):
+    """
+    package:
+        Class-Load
+    direct dependencies:
+        Data-OptList *
+        Module-Implementation
+        Module-Runtime
+        Package-Stash
+        Try-Tiny
+    indirect dependencies:
+        Dist-CheckConflicts
+        Params-Util
+        Sub-Install
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_CLASS_LOAD=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("Class::Load")
Signature · 1 line
2.17.1
#5 lore raw

PATCH v3 4/8 support/testing: add perl-gdgraph test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872330]
---
 .gitlab-ci.yml                                |  1 +
 .../tests/package/test_perl_gdgraph.py        | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_gdgraph.py
.gitlab-ci.yml +1 -0
index e315e78f0..00cdb3576 100644
@@ -314,6 +314,7 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test
 tests.package.test_ipython.TestIPythonPy3: *runtime_test
 tests.package.test_perl.TestPerl: *runtime_test
 tests.package.test_perl_class_load.TestPerlClassLoad: *runtime_test
+tests.package.test_perl_gdgraph.TestPerlGDGraph: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_gdgraph.py new file +22 -0
new file mode 100644
index 000000000..16cd8cb8e
@@ -0,0 +1,22 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlGDGraph(TestPerlBase):
+    """
+    package:
+        GDGraph
+    direct dependencies:
+        GD
+        GDTextUtil
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_GDGRAPH=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("GD")
+        self.module_test("GD::Graph")
Signature · 1 line
2.17.1
#6 lore raw

PATCH v3 5/8 support/testing: add perl-libwww-perl test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872332]
---
 .gitlab-ci.yml                                |  1 +
 .../tests/package/test_perl_libwww_perl.py    | 41 +++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_libwww_perl.py
.gitlab-ci.yml +1 -0
index 00cdb3576..344acc254 100644
@@ -315,6 +315,7 @@ tests.package.test_ipython.TestIPythonPy3: *runtime_test
 tests.package.test_perl.TestPerl: *runtime_test
 tests.package.test_perl_class_load.TestPerlClassLoad: *runtime_test
 tests.package.test_perl_gdgraph.TestPerlGDGraph: *runtime_test
+tests.package.test_perl_libwww_perl.TestPerllibwwwperl: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_libwww_perl.py new file +41 -0

41 lines not on this page · raw message

Signature · 1 line
2.17.1
#7 lore raw

PATCH v3 5/8 support/testing: add perl-libwww-perl test

Hello Fran?ois,

Thanks a lot for this work on adding tests for Perl packages. It is really great to see the testing infrastructure being used more widely. A few questions below.

Quoted 12 lines · Francois Perrad
support/testing/tests/package/test_perl_libwww_perl.py new file +12 -0
+class TestPerllibwwwperl(TestPerlBase):
+    """
+    package:
+        libwww-perl
+    direct dependencies:
+        Encode-Locale
+        File-Listing
+        HTML-Parser
+        HTTP-Cookies
+        HTTP-Daemon
+        HTTP-Date
+        HTTP-Message

support/testing/tests/package/test_perl_libwww_perl.py line 25

Quoted 10 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +10 -0
+        HTTP-Negotiate
+        LWP-MediaTypes
+        Net-HTTP
+        Try-Tiny
+        URI
+        WWW-RobotRules
+    indirect dependencies:
+        HTML-Tagset
+        IO-HTML
+    """

Sorry if I haven't followed the previous discussion, but why do we have this docstring ? Is it just for information ?

Quoted 5 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +5 -0
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_LIBWWW_PERL=y
+        """

support/testing/tests/package/test_perl_libwww_perl.py line 41

Quoted 10 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +10 -0
+
+    def test_run(self):
+        self.login()
+        self.module_test("LWP")
+        self.module_test("LWP::UserAgent")
+        self.module_test("LWP::Authen::Basic")
+        self.module_test("LWP::Authen::Digest")
+        self.module_test("HTTP::Message")
+        self.module_test("HTTP::Daemon")
+        self.module_test("WWW::RobotRules")

Why are you testing specifically those modules ? What is the rule to decide what modules are tested here ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#8 lore raw

PATCH v3 5/8 support/testing: add perl-libwww-perl test

Le sam. 24 nov. 2018 ? 11:06, Thomas Petazzoni <[email protected]> a ?crit :

Quoted 31 lines

Hello Fran?ois,

Thanks a lot for this work on adding tests for Perl packages. It is really great to see the testing infrastructure being used more widely. A few questions below.

Quoted 12 lines · Francois Perrad
support/testing/tests/package/test_perl_libwww_perl.py new file +12 -0
+class TestPerllibwwwperl(TestPerlBase):
+    """
+    package:
+        libwww-perl
+    direct dependencies:
+        Encode-Locale
+        File-Listing
+        HTML-Parser
+        HTTP-Cookies
+        HTTP-Daemon
+        HTTP-Date
+        HTTP-Message

support/testing/tests/package/test_perl_libwww_perl.py line 25

Quoted 10 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +10 -0
+        HTTP-Negotiate
+        LWP-MediaTypes
+        Net-HTTP
+        Try-Tiny
+        URI
+        WWW-RobotRules
+    indirect dependencies:
+        HTML-Tagset
+        IO-HTML
+    """
Quoted 4 lines

Sorry if I haven't followed the previous discussion, but why do we have this docstring ? Is it just for information ?

Yes, this is for information.
By this way, we know that we don't need to write another test for HTTP-Date or IO-HTML.

Quoted 16 lines

+ config = TestPerlBase.config + \

Quoted 4 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +4 -0
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_LIBWWW_PERL=y
+        """

support/testing/tests/package/test_perl_libwww_perl.py line 41

Quoted 10 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +10 -0
+
+    def test_run(self):
+        self.login()
+        self.module_test("LWP")
+        self.module_test("LWP::UserAgent")
+        self.module_test("LWP::Authen::Basic")
+        self.module_test("LWP::Authen::Digest")
+        self.module_test("HTTP::Message")
+        self.module_test("HTTP::Daemon")
+        self.module_test("WWW::RobotRules")
Quoted 4 lines

Why are you testing specifically those modules ? What is the rule to decide what modules are tested here ?

libwww-perl is a special package/distribution from the beginning of the WWW history
(started in 1995, see https://metacpan.org/changes/distribution/libwww-perl
).
In fact, libwww-perl collection is a set of Perl modules.
LWP (Lib World-Wide Web Perl) is just a name space for some of them, and doesn't match with the distribution name libwww.
So, we need load most of them.

Fran?ois

Quoted 12 lines

Thanks!

Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181124/67c3d3c3/attachment.html>

#9 lore raw

PATCH v3 5/8 support/testing: add perl-libwww-perl test

Hello,

Quoted 4 lines · Fran?ois Perrad
Quoted 3 lines

Sorry if I haven't followed the previous discussion, but why do we have this docstring ? Is it just for information ?

Yes, this is for information.

OK.

Quoted 2 lines

By this way, we know that we don't need to write another test for HTTP-Date or IO-HTML.

This is not really true. Indeed, if you test HTTP-Date with plenty of other packages installed, how are you sure that HTTP-Date has all the necessary runtime dependencies it needs ?

Only a test with only HTTP-Date installed and its dependencies will allow to verify this.

Quoted 14 lines
Quoted 10 lines

support/testing/tests/package/test_perl_libwww_perl.py line 41

Quoted 9 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +9 -0
+    def test_run(self):
+        self.login()
+        self.module_test("LWP")
+        self.module_test("LWP::UserAgent")
+        self.module_test("LWP::Authen::Basic")
+        self.module_test("LWP::Authen::Digest")
+        self.module_test("HTTP::Message")
+        self.module_test("HTTP::Daemon")
+        self.module_test("WWW::RobotRules")  
Quoted 4 lines

Why are you testing specifically those modules ? What is the rule to decide what modules are tested here ?

Quoted 8 lines

libwww-perl is a special package/distribution from the beginning of the WWW history
(started in 1995, see https://metacpan.org/changes/distribution/libwww-perl
).
In fact, libwww-perl collection is a set of Perl modules.
LWP (Lib World-Wide Web Perl) is just a name space for some of them, and doesn't match with the distribution name libwww.
So, we need load most of them.

OK, so all those modules are the ones part of libwww-perl, i.e we are not testing modules installed by other packages, correct ?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#10 lore raw

PATCH v3 5/8 support/testing: add perl-libwww-perl test

Le sam. 24 nov. 2018 ? 12:44, Thomas Petazzoni <[email protected]> a ?crit :

Quoted 13 lines

Hello,

Quoted 4 lines · Fran?ois Perrad
Quoted 3 lines

Sorry if I haven't followed the previous discussion, but why do we have this docstring ? Is it just for information ?

Yes, this is for information.

OK.

Quoted 1 line

By this way, we know that we don't need to write another test for

HTTP-Date

Quoted 10 lines
Quoted 1 line

or IO-HTML.

This is not really true. Indeed, if you test HTTP-Date with plenty of other packages installed, how are you sure that HTTP-Date has all the necessary runtime dependencies it needs ?

Only a test with only HTTP-Date installed and its dependencies will allow to verify this.

I want also to limit the number of test, see cover letter.

Quoted 19 lines
Quoted 10 lines
Quoted 10 lines

+ def test_run(self):

Quoted 8 lines
support/testing/tests/package/test_perl_libwww_perl.py new file +8 -0
+        self.login()
+        self.module_test("LWP")
+        self.module_test("LWP::UserAgent")
+        self.module_test("LWP::Authen::Basic")
+        self.module_test("LWP::Authen::Digest")
+        self.module_test("HTTP::Message")
+        self.module_test("HTTP::Daemon")
+        self.module_test("WWW::RobotRules")
Quoted 5 lines
Quoted 4 lines

Why are you testing specifically those modules ? What is the rule to decide what modules are tested here ?

libwww-perl is a special package/distribution from the beginning of the

WWW

Quoted 2 lines

history
(started in 1995, see

https://metacpan.org/changes/distribution/libwww-perl

Quoted 10 lines
Quoted 5 lines

).
In fact, libwww-perl collection is a set of Perl modules. LWP (Lib World-Wide Web Perl) is just a name space for some of them, and doesn't match with the distribution name libwww.
So, we need load most of them.

OK, so all those modules are the ones part of libwww-perl, i.e we are not testing modules installed by other packages, correct ?

Correct.

Fran?ois

Quoted 8 lines

Thanks,

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181124/3607940e/attachment.html>

#11 lore raw

PATCH v3 6/8 support/testing: add perl-mail-dkim test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872333]
---
 .gitlab-ci.yml                                |  1 +
 .../tests/package/test_perl_mail_dkim.py      | 28 +++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_mail_dkim.py
.gitlab-ci.yml +1 -0
index 344acc254..14e6a27ac 100644
@@ -316,6 +316,7 @@ tests.package.test_perl.TestPerl: *runtime_test
 tests.package.test_perl_class_load.TestPerlClassLoad: *runtime_test
 tests.package.test_perl_gdgraph.TestPerlGDGraph: *runtime_test
 tests.package.test_perl_libwww_perl.TestPerllibwwwperl: *runtime_test
+tests.package.test_perl_mail_dkim.TestPerlMailDKIM: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_mail_dkim.py new file +28 -0
new file mode 100644
index 000000000..dc4d4bb3a
@@ -0,0 +1,28 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlMailDKIM(TestPerlBase):
+    """
+    package:
+        Mail-DKIM
+    direct dependencies:
+        Crypt-OpenSSL-RSA
+        MailTools
+        Net-DNS
+        Net-DNS-Resolver-Mock
+        YAML-LibYAML
+    indirect dependencies:
+        Crypt-OpenSSL-Random
+        Digest-HMAC
+        TimeDate
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_MAIL_DKIM=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("Mail::DKIM")
Signature · 1 line
2.17.1
#12 lore raw

PATCH v3 7/8 support/testing: add perl-x10 test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872334]
---
 .gitlab-ci.yml                                |  1 +
 .../testing/tests/package/test_perl_x10.py    | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_x10.py
.gitlab-ci.yml +1 -0
index 14e6a27ac..55938a0dc 100644
@@ -317,6 +317,7 @@ tests.package.test_perl_class_load.TestPerlClassLoad: *runtime_test
 tests.package.test_perl_gdgraph.TestPerlGDGraph: *runtime_test
 tests.package.test_perl_libwww_perl.TestPerllibwwwperl: *runtime_test
 tests.package.test_perl_mail_dkim.TestPerlMailDKIM: *runtime_test
+tests.package.test_perl_x10.TestPerlX10: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_x10.py new file +22 -0
new file mode 100644
index 000000000..46f247f2d
@@ -0,0 +1,22 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlX10(TestPerlBase):
+    """
+    package:
+        X10
+    direct dependencies:
+        Astro-SunTime
+        Device-SerialPort
+        Time-ParseDate
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_X10=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("X10")
Signature · 1 line
2.17.1
#13 lore raw

PATCH v3 8/8 support/testing: add perl-xml-libxml test

In reply to Francois Perrad
[https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/124872335]
---
 .gitlab-ci.yml                                |  1 +
 .../tests/package/test_perl_xml_libxml.py     | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 support/testing/tests/package/test_perl_xml_libxml.py
.gitlab-ci.yml +1 -0
index 55938a0dc..b7114f5dc 100644
@@ -318,6 +318,7 @@ tests.package.test_perl_gdgraph.TestPerlGDGraph: *runtime_test
 tests.package.test_perl_libwww_perl.TestPerllibwwwperl: *runtime_test
 tests.package.test_perl_mail_dkim.TestPerlMailDKIM: *runtime_test
 tests.package.test_perl_x10.TestPerlX10: *runtime_test
+tests.package.test_perl_xml_libxml.TestPerlXMLLibXML: *runtime_test
 tests.package.test_python.TestPython2: *runtime_test
 tests.package.test_python.TestPython3: *runtime_test
 tests.package.test_python_argh.TestPythonPy2Argh: *runtime_test
support/testing/tests/package/test_perl_xml_libxml.py new file +22 -0
new file mode 100644
index 000000000..76eacfaea
@@ -0,0 +1,22 @@
+from tests.package.test_perl import TestPerlBase
+
+
+class TestPerlXMLLibXML(TestPerlBase):
+    """
+    package:
+        XML-LibXML
+    direct dependencies:
+        XML-NamespaceSupport
+        XML-SAX
+        XML-SAX-Base
+    """
+
+    config = TestPerlBase.config + \
+        """
+        BR2_PACKAGE_PERL=y
+        BR2_PACKAGE_PERL_XML_LIBXML=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("XML::LibXML")
Signature · 1 line
2.17.1
#14 lore raw

v3 cover suppport/testing: Perl interpreter and CPAN modules

In reply to Francois Perrad

Hello,

Quoted 9 lines · Francois Perrad

Francois Perrad (8):
support/testing: add perl test
scancpan: add generation of test
support/testing: add perl-class-load test
support/testing: add perl-gdgraph test
support/testing: add perl-libwww-perl test
support/testing: add perl-mail-dkim test
support/testing: add perl-x10 test
support/testing: add perl-xml-libxml test

Thanks a lot for this work, series applied!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com