Compare commits

...
Sign in to create a new pull request.

40 commits

Author SHA1 Message Date
Petr Písař
99bb79ac98 Dummy commit
Rebuild with fixed perl-IPC-System-Simple that failed randomly with
Test-Simple 1.302065.
2018-04-18 15:23:02 +02:00
Petr Písař
af478066de Dummy commit
Some koji tasks failed with "HTTP Error 503: Backend fetch failed".
Retry.
2018-04-18 14:08:57 +02:00
Petr Písař
0a15007188 Fix v2 modulemd syntax 2018-04-06 11:56:34 +02:00
Petr Písař
a866a6990a Migrate to modulemd v2 and expand to all platforms 2018-03-14 16:23:54 +01:00
Jitka Plesnikova
f5cfad1c7b Fix typo in macro 2018-02-20 09:31:57 +01:00
Petr Písař
fec29b5ce0 Define API 2018-01-17 14:07:30 +01:00
Petr Písař
a23c10b4d6 Build on top of platform:f28
Stream expansion is not yet supported.
2018-01-17 13:33:23 +01:00
Petr Písař
85eb13aad7 Platform provides groff and systemtap 2018-01-17 13:32:43 +01:00
Petr Písař
840f2fa806 Define build macros using buildopts modulemd
Current module build service supports RPM buildopts to set macros for
a build root. Use them instead of custom perl-srpm-macros package.
2018-01-17 13:30:56 +01:00
Jitka Plesnikova
fcbe52b6bf Used platform f27 for Perl 5.24 2017-11-03 07:24:13 +01:00
Jitka Plesnikova
452fa79444 Used platform master for Perl 5.24 2017-11-01 09:05:44 +01:00
Nils Philippsen
6db6dde190 update references 2017-08-01 13:52:06 +02:00
Nils Philippsen
25014c1ca2 Merge remote-tracking branch 'github/master' into f26 2017-08-01 13:45:48 +02:00
Petr Písař
ffc2614fb4 Dummy commit for MBS 2017-08-01 11:48:11 +02:00
Petr Písař
b198b660e1 Fix profile's RPM list definitions
Each profile is a list of packages.
2017-07-27 11:59:28 +02:00
Petr Písař
0cb226486d Define profiles
perl-core package pulls in all required packages transitively.
2017-06-06 14:11:04 +02:00
Radoslav Pitonak
f79af84dac general tests update 2017-05-29 12:09:43 +02:00
Petr Písař
634417c4c8 Rebuild after koji failure 2017-05-15 09:20:53 +02:00
Petr Písař
b190a68f12 Rebuild after koji failure 2017-05-12 13:00:04 +02:00
Petr Písař
1d0b43ec6b Rebuild after koji failure 2017-05-12 09:53:29 +02:00
Petr Písař
212ef4225d Rebuild after koji failure 2017-05-11 08:18:40 +02:00
Petr Písař
0f4c407d1a Port to f26 streams 2017-05-10 13:08:17 +02:00
Petr Písař
fd7c8e3889 perl.spec modularity changes are available in f26 2017-05-10 11:09:49 +02:00
Petr Písař
d0a443849d A typo fixed in rpms/perl-srpm-macros 2017-05-10 11:08:40 +02:00
Petr Písař
63aabe3f82 Revert "add perl-test-Taint as a build dep for perl-version"
This reverts commit 72f2b01643 because
this is build-time dependency is in perl-bootstrap module. We do not
want to deliver this component in perl module.
2017-05-10 10:59:54 +02:00
Nils Philippsen
d4a3850c22 rebuild 2017-04-27 15:58:22 +02:00
Nils Philippsen
72f2b01643 add perl-test-Taint as a build dep for perl-version 2017-04-27 12:57:04 +02:00
Radoslav Pitonak
f0c699abaa Dockerfile and tests
Signed-off-by: Nils Philippsen <nils@redhat.com>
2017-04-27 11:32:46 +02:00
Petr "Stone" Hracek
1ea43c7e15 Add README file with dependencies
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
2017-04-12 13:30:33 +02:00
Petr Písař
77907fe6e8 Add missing components run-required after disabling bootstrap 2017-04-10 16:30:12 +02:00
Petr Písař
641ccd5859 Update perl-srpm-macros
Handle perl-Compress-Bzip2, perl-URI, perl-Software-License.
2017-04-10 16:19:27 +02:00
Petr Písař
18ea5e512c Update perl-srpm-macros
This disables optional tests in perl-IPC-System-Simple.
2017-04-10 12:53:52 +02:00
Petr Písař
5e8d92b62d Filter packages already provided by MBR
And perl-Pod-Perldoc was merged into F26.
2017-04-07 13:33:20 +02:00
Petr "Stone" Hracek
6b3bd985e8 trigger commit 2017-04-07 08:48:57 +02:00
Petr "Stone" Hracek
93c60885c9 Delete perl-bootstrap yaml file
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
2017-04-07 08:37:03 +02:00
Petr Písař
e4bb504b2c Build-time dependencies filtered.
I forsee we will miss new run-time dependencies that were disabled on
bootstrap. I will add them or even to perl-bootstrap later.
2017-04-04 17:10:33 +02:00
Petr Písař
fb984eeffb List all components in correct build order
111 source packages.

Optimized build order and filtering build-time only depenencies will follow.
2017-04-04 16:01:48 +02:00
Petr "Stone" Hracek
7b1832387c Perl with disabled bootstrap
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
2017-03-30 18:04:26 +02:00
Petr "Stone" Hracek
d51b6c7a97 First draft of perl module.
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
2017-03-30 17:54:03 +02:00
Fedora Release Engineering
2afc7e37bd Initial setup of the repo 2017-03-28 13:52:01 +00:00
16 changed files with 800 additions and 4 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
.idea
tests/*.pyc
.idea
tests/localrepo*

14
Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM baseruntime/baseruntime:latest
COPY repos/* /etc/yum.repos.d/
COPY tests/scripts/* /tmp/
RUN sed -i 's|/jkaluza/|/ralph/|g' /etc/yum.repos.d/build.repo && \
rpm -e --justdb --nodeps systemd-libs && \
microdnf --nodocs --enablerepo perl install perl perl-devel && \
microdnf clean all
EXPOSE 8080
CMD /bin/bash

14
Makefile Normal file
View file

@ -0,0 +1,14 @@
IMAGE_NAME = perl
MODULEMDURL=file://perl.yaml
default: run
build:
docker build --tag=$(IMAGE_NAME) .
run: build
docker run -d $(IMAGE_NAME)
test: build
cd tests; MODULE=docker MODULEMD=$(MODULEMDURL) URL="docker=$(IMAGE_NAME)" make all

View file

@ -17,6 +17,3 @@ Module containing important perl packages.
| ✓ YES | General **tests are in dist-git** |
| ✓ YES | General **tests pass** |
| ✗ NO | Meets the **Fedora Module Packaging Guidelines** |

View file

@ -1 +0,0 @@
# This is just a placeholder file for a modulemd

519
perl.yaml Normal file
View file

@ -0,0 +1,519 @@
document: modulemd
version: 2
data:
summary: Practical Extraction and Report Language
description: >
Perl is a high-level programming language with roots in C, sed, awk
and shell scripting. Perl is good at handling processes and files, and
is especially good at handling text. Perl's hallmarks are practicality
and efficiency. While it is used to do a lot of different things,
Perl's most common applications are system administration utilities
and web programming.
license:
module: [ MIT ]
dependencies:
- buildrequires:
platform: []
perl-bootstrap: [5.24]
requires:
platform: []
references:
community: https://docs.pagure.org/modularity/
documentation: https://github.com/modularity-modules/perl
tracker: https://github.com/modularity-modules/perl/issues
profiles:
# Interpreter and all Perl modules bundled within upstream Perl
default:
rpms:
- perl-core
# Only the interpreter as standalone executable
minimal:
rpms:
- perl
api:
rpms:
- perl
- perl-Algorithm-Diff
- perl-Archive-Tar
- perl-Archive-Zip
- perl-Attribute-Handlers
- perl-autodie
- perl-B-Debug
- perl-bignum
- perl-Carp
- perl-Compress-Bzip2
- perl-Compress-Raw-Bzip2
- perl-Compress-Raw-Zlib
- perl-Config-Perl-V
- perl-constant
- perl-CPAN
- perl-CPAN-Meta
- perl-CPAN-Meta-Requirements
- perl-CPAN-Meta-YAML
- perl-Data-Dumper
- perl-Data-OptList
- perl-Data-Section
- perl-DB_File
- perl-devel
- perl-Devel-Peek
- perl-Devel-PPPort
- perl-Devel-SelfStubber
- perl-Devel-Size
- perl-Digest
- perl-Digest-MD5
- perl-Digest-SHA
- perl-Encode
- perl-Encode-devel
- perl-encoding
- perl-Env
- perl-Errno
- perl-experimental
- perl-Exporter
- perl-ExtUtils-CBuilder
- perl-ExtUtils-Command
- perl-ExtUtils-Embed
- perl-ExtUtils-Install
- perl-ExtUtils-MakeMaker
- perl-ExtUtils-Manifest
- perl-ExtUtils-Miniperl
- perl-ExtUtils-MM-Utils
- perl-ExtUtils-ParseXS
- perl-Fedora-VSP
- perl-File-Fetch
- perl-File-HomeDir
- perl-File-Path
- perl-File-Temp
- perl-File-Which
- perl-Filter
- perl-Filter-Simple
- perl-generators
- perl-Getopt-Long
- perl-homedir
- perl-HTTP-Tiny
- perl-inc-latest
- perl-interpreter
- perl-IO
- perl-IO-Compress
- perl-IO-Socket-IP
- perl-IO-Zlib
- perl-IPC-Cmd
- perl-IPC-System-Simple
- perl-IPC-SysV
- perl-JSON-PP
- perl-libnet
- perl-libnetcfg
- perl-libs
- perl-local-lib
- perl-Locale-Codes
- perl-Locale-Maketext
- perl-Locale-Maketext-Simple
- perl-macros
- perl-Math-BigInt
- perl-Math-BigInt-FastCalc
- perl-Math-BigRat
- perl-Math-Complex
- perl-Memoize
- perl-MIME-Base64
- perl-Module-Build
- perl-Module-CoreList
- perl-Module-CoreList-tools
- perl-Module-Load
- perl-Module-Load-Conditional
- perl-Module-Loaded
- perl-Module-Metadata
- perl-MRO-Compat
- perl-Net-Ping
- perl-open
- perl-Package-Generator
- perl-Params-Check
- perl-Params-Util
- perl-parent
- perl-PathTools
- perl-Perl-OSType
- perl-perlfaq
- perl-PerlIO-via-QuotedPrint
- perl-Pod-Checker
- perl-Pod-Escapes
- perl-Pod-Html
- perl-Pod-Parser
- perl-Pod-Perldoc
- perl-Pod-Simple
- perl-Pod-Usage
- perl-podlators
- perl-Scalar-List-Utils
- perl-SelfLoader
- perl-Socket
- perl-Software-License
- perl-Storable
- perl-Sub-Exporter
- perl-Sub-Install
- perl-Sys-Syslog
- perl-Term-ANSIColor
- perl-Term-Cap
- perl-Test
- perl-Test-Harness
- perl-Test-Simple
- perl-tests
- perl-Text-Balanced
- perl-Text-Diff
- perl-Text-Glob
- perl-Text-ParseWords
- perl-Text-Tabs+Wrap
- perl-Text-Template
- perl-Thread-Queue
- perl-threads
- perl-threads-shared
- perl-Time-HiRes
- perl-Time-Local
- perl-Time-Piece
- perl-Unicode-Collate
- perl-Unicode-Normalize
- perl-URI
- perl-utils
- perl-version
buildopts:
rpms:
macros: |
%_with_perl_enables_groff 1
%_without_perl_enables_syslog_test 1
%_with_perl_enables_systemtap 1
%_without_perl_enables_tcsh 1
%_without_perl_Compress_Bzip2_enables_optional_test 1
%_without_perl_CPAN_Meta_Requirements_enables_optional_test 1
%_without_perl_IPC_System_Simple_enables_optional_test 1
%_without_perl_LWP_MediaTypes_enables_mailcap 1
%_without_perl_Module_Build_enables_optional_test 1
%_without_perl_Perl_OSType_enables_optional_test 1
%_without_perl_Pod_Perldoc_enables_tk_test 1
%_without_perl_Software_License_enables_optional_test 1
%_without_perl_Sys_Syslog_enables_optional_test 1
%_without_perl_Test_Harness_enables_optional_test 1
%_without_perl_URI_enables_Business_ISBN 1
components:
rpms:
# We can rebuild in a random order because we have all binary
# packages available from perl-bootstrap.
perl:
rationale: The Perl interpreter.
ref: f26
perl-Algorithm-Diff:
rationale: A run-time dependency.
ref: f26
perl-Archive-Tar:
rationale: Core Perl API.
ref: f26
perl-Archive-Zip:
rationale: A run-time dependency.
ref: f26
perl-autodie:
rationale: Core Perl API.
ref: f26
perl-B-Debug:
rationale: Core Perl API.
ref: f26
perl-bignum:
rationale: Core Perl API.
ref: f26
perl-Carp:
rationale: Core Perl API.
ref: f26
perl-Compress-Bzip2:
rationale: A run-time dependency.
ref: f26
perl-Compress-Raw-Bzip2:
rationale: Core Perl API.
ref: f26
perl-Compress-Raw-Zlib:
rationale: Core Perl API.
ref: f26
perl-Config-Perl-V:
rationale: Core Perl API.
ref: f26
perl-constant:
rationale: Core Perl API.
ref: f26
perl-CPAN:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta-Requirements:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta-YAML:
rationale: Core Perl API.
ref: f26
perl-Data-Dumper:
rationale: Core Perl API.
ref: f26
perl-Data-OptList:
rationale: A run-time dependency.
ref: f26
perl-Data-Section:
rationale: A run-time dependency.
ref: f26
perl-DB_File:
rationale: Core Perl API.
ref: f26
perl-Devel-PPPort:
rationale: Core Perl API.
ref: f26
perl-Devel-Size:
rationale: A run-time dependency.
ref: f26
perl-Digest:
rationale: Core Perl API.
ref: f26
perl-Digest-MD5:
rationale: Core Perl API.
ref: f26
perl-Digest-SHA:
rationale: Core Perl API.
ref: f26
perl-Encode:
rationale: Core Perl API.
ref: f26
perl-Env:
rationale: Core Perl API.
ref: f26
perl-experimental:
rationale: Core Perl API.
ref: f26
perl-Exporter:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-CBuilder:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-Install:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-MakeMaker:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-Manifest:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-ParseXS:
rationale: Core Perl API.
ref: f26
perl-Fedora-VSP:
rationale: RPM dependency generator.
ref: f26
perl-File-Fetch:
rationale: Core Perl API.
ref: f26
perl-File-HomeDir:
rationale: A run-time dependency.
ref: f26
perl-File-Path:
rationale: Core Perl API.
ref: f26
perl-File-Temp:
rationale: Core Perl API.
ref: f26
perl-File-Which:
rationale: A run-time dependency.
ref: f26
perl-Filter:
rationale: Core Perl API.
ref: f26
perl-Filter-Simple:
rationale: Core Perl API.
ref: f26
perl-generators:
rationale: RPM dependency generator.
ref: f26
perl-Getopt-Long:
rationale: Core Perl API.
ref: f26
perl-HTTP-Tiny:
rationale: Core Perl API.
ref: f26
perl-inc-latest:
rationale: A run-time dependency.
ref: f26
perl-IO-Compress:
rationale: Core Perl API.
ref: f26
perl-IO-Socket-IP:
rationale: Core Perl API.
ref: f26
perl-IPC-Cmd:
rationale: Core Perl API.
ref: f26
perl-IPC-System-Simple:
rationale: A run-time dependency.
ref: f26
perl-IPC-SysV:
rationale: Core Perl API.
ref: f26
perl-JSON-PP:
rationale: Core Perl API.
ref: f26
perl-libnet:
rationale: Core Perl API.
ref: f26
perl-local-lib:
rationale: A run-time dependency.
ref: f26
perl-Locale-Codes:
rationale: Core Perl API.
ref: f26
perl-Locale-Maketext:
rationale: Core Perl API.
ref: f26
perl-Math-BigInt:
rationale: Core Perl API.
ref: f26
perl-Math-BigInt-FastCalc:
rationale: Core Perl API.
ref: f26
perl-Math-BigRat:
rationale: Core Perl API.
ref: f26
perl-MIME-Base64:
rationale: Core Perl API.
ref: f26
perl-Module-Build:
rationale: A run-time dependency.
ref: f26
perl-Module-CoreList:
rationale: Core Perl API.
ref: f26
perl-Module-Load:
rationale: Core Perl API.
ref: f26
perl-Module-Load-Conditional:
rationale: Core Perl API.
ref: f26
perl-Module-Metadata:
rationale: Core Perl API.
ref: f26
perl-MRO-Compat:
rationale: A run-time dependency.
ref: f26
perl-Package-Generator:
rationale: A run-time dependency.
ref: f26
perl-Params-Check:
rationale: Core Perl API.
ref: f26
perl-Params-Util:
rationale: A run-time dependency.
ref: f26
perl-parent:
rationale: Core Perl API.
ref: f26
perl-PathTools:
rationale: Core Perl API.
ref: f26
perl-Perl-OSType:
rationale: Core Perl API.
ref: f26
perl-perlfaq:
rationale: Core Perl API.
ref: f26
perl-PerlIO-via-QuotedPrint:
rationale: Core Perl API.
ref: f26
perl-Pod-Checker:
rationale: Core Perl API.
ref: f26
perl-Pod-Escapes:
rationale: Core Perl API.
ref: f26
perl-Pod-Parser:
rationale: Core Perl API.
ref: f26
perl-Pod-Perldoc:
rationale: Core Perl API.
ref: f26
perl-Pod-Simple:
rationale: Core Perl API.
ref: f26
perl-Pod-Usage:
rationale: Core Perl API.
ref: f26
perl-podlators:
rationale: Core Perl API.
ref: f26
perl-Scalar-List-Utils:
rationale: Core Perl API.
ref: f26
perl-Socket:
rationale: Core Perl API.
ref: f26
perl-Software-License:
rationale: A run-time dependency.
ref: f26
perl-Storable:
rationale: Core Perl API.
ref: f26
perl-Sub-Exporter:
rationale: A run-time dependency.
ref: f26
perl-Sub-Install:
rationale: A run-time dependency.
ref: f26
perl-Sys-Syslog:
rationale: Core Perl API.
ref: f26
perl-Term-ANSIColor:
rationale: Core Perl API.
ref: f26
perl-Term-Cap:
rationale: Core Perl API.
ref: f26
perl-Test-Harness:
rationale: Core Perl API.
ref: f26
perl-Test-Simple:
rationale: Core Perl API.
ref: f26
perl-Text-Balanced:
rationale: Core Perl API.
ref: f26
perl-Text-Diff:
rationale: A run-time dependency.
ref: f26
perl-Text-Glob:
rationale: A run-time dependency.
ref: f26
perl-Text-ParseWords:
rationale: Core Perl API.
ref: f26
perl-Text-Tabs+Wrap:
rationale: Core Perl API.
ref: f26
perl-Text-Template:
rationale: A run-time dependency.
ref: f26
perl-Thread-Queue:
rationale: Core Perl API.
ref: f26
perl-threads:
rationale: Core Perl API.
ref: f26
perl-threads-shared:
rationale: Core Perl API.
ref: f26
perl-Time-HiRes:
rationale: Core Perl API.
ref: f26
perl-Time-Local:
rationale: Core Perl API.
ref: f26
perl-Unicode-Collate:
rationale: Core Perl API.
ref: f26
perl-Unicode-Normalize:
rationale: Core Perl API.
ref: f26
perl-URI:
rationale: A run-time dependency.
ref: f26
perl-version:
rationale: Core Perl API.
ref: f26

4
repos/fedora.repo Normal file
View file

@ -0,0 +1,4 @@
[fedora]
name=fedora
baseurl=https://mirrors.nic.cz/fedora/linux/development/26/Everything/x86_64/os/
enabled=0

4
repos/perl.repo Normal file
View file

@ -0,0 +1,4 @@
[perl]
name=perl
baseurl=https://kojipkgs.fedoraproject.org/repos/module-9ac9f492d4852dfd-build/latest/x86_64/
enabled=0

0
sources Normal file
View file

6
tests/Makefile Normal file
View file

@ -0,0 +1,6 @@
MODULE_LINT=/usr/share/moduleframework/tools/modulelint.py
CMD=python -m avocado run --filter-by-tags=-WIP $(MODULE_LINT) *.py
#
all:
$(CMD)

13
tests/config.yaml Normal file
View file

@ -0,0 +1,13 @@
document: modularity-testing
version: 1
name: perl
modulemd-url: https://src.fedoraproject.org/cgit/modules/perl.git/plain/perl.yaml
service:
port: 8080
module:
docker:
start: "docker run -it"
container: perl
rpm:
repos:
- http://mirror.vutbr.cz/fedora/releases/26/Everything/x86_64/os/

57
tests/cpan.py Normal file
View file

@ -0,0 +1,57 @@
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class CpanCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def testInstallPerlModule(self):
"""
Installing Perl module using cpan [http://www.cpan.org/]
"""
self.start()
self.run("microdnf --nodocs --enablerepo fedora install -y cpan cpanminus")
self.run("cpanm install --force Error")
self.run("perl -e \"use Error\"")
def testInstallCModule(self):
"""
Installing Perl module written in C language, using cpan [http://www.cpan.org/]
Another packages need to be install here - gcc, rpm-devel to build module.
"""
self.start()
self.run("microdnf --nodocs --enablerepo fedora install -y cpan cpanminus")
self.run("microdnf --nodocs --enablerepo fedora install -y gcc rpm-devel")
self.run("cpanm install --force RPM2")
self.run("perl -e \"use RPM2\"")
if __name__ == '__main__':
main()

44
tests/networking.py Normal file
View file

@ -0,0 +1,44 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class NetworkingCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def testHTTPRequest(self):
"""
Test networking with `HTTP::Tiny` perl module
Testing script is included in `scripts` folder
"""
self.start()
self.run("perl /tmp/http.pl")
if __name__ == '__main__':
main()

56
tests/rpmvalidator.py Normal file
View file

@ -0,0 +1,56 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Jan Scotka <jscotka@redhat.com>
#
from avocado import main
from moduleframework import module_framework
class ExampleRpmValidation(module_framework.AvocadoTest):
"""
:avocado: enable
"""
fhs_base_paths = [
'/bin',
'/boot',
'/dev',
'/etc',
'/home',
'/lib',
'/lib64',
'/media',
'/mnt',
'/opt',
'/proc',
'/root',
'/run',
'/sbin',
'/sys',
'/srv',
'/tmp',
'/usr/bin'
]
def testPaths(self):
self.start()
for directory in self.fhs_base_paths:
self.run("test -d %s" % directory)

60
tests/sanity.py Normal file
View file

@ -0,0 +1,60 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class SanityCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def test1(self):
"""
Simple sanity test
"""
self.start()
self.run("ls / | grep bin")
def test2PerlVersion(self):
"""
Check if perl is installed in correct version
"""
perl_version = "5.24"
self.start()
self.run("perl -v | grep " + perl_version)
def testPerlScript(self):
"""
Executing simple perl script
"""
test_string = "Running test script\n"
self.start()
self.assertIn("{}".format(test_string), self.run('perl -e " print \'{}\'"'.format(test_string)).stdout)
if __name__ == '__main__':
main()

5
tests/scripts/http.pl Normal file
View file

@ -0,0 +1,5 @@
use HTTP::Tiny;
my $response = HTTP::Tiny->new->get('http://example.com/');
die "Failed!\n" unless $response->{success};