perl-Test-Differences/perl-Test-Differences.spec

107 lines
4.2 KiB
RPMSpec

#
# spec file for package perl-Test-Differences
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Test-Differences
Name: perl-Test-Differences
Version: 0.710.0
Release: 0
%define cpan_version 0.71
#Upstream: All Rights Reserved. You may use, distribute and modify this software under the terms of the GNU public license, any version, or the Artistic license.
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Test strings and data structures and show differences if not ok
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Capture::Tiny) >= 0.24
BuildRequires: perl(Data::Dumper) >= 2.126
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Text::Diff) >= 1.43
Requires: perl(Capture::Tiny) >= 0.24
Requires: perl(Data::Dumper) >= 2.126
Requires: perl(Test::More) >= 0.88
Requires: perl(Text::Diff) >= 1.43
Provides: perl(Test::Differences) = 0.710.0
%undefine __perllib_provides
%{perl_requires}
%description
When the code you're testing returns multiple lines, records or data
structures and they're just plain wrong, an equivalent to the Unix 'diff'
utility may be just what's needed. Here's output from an example test
script that checks two text documents and then two (trivial) data
structures:
t/99example....1..3
not ok 1 - differences in text
# Failed test ((eval 2) at line 14)
# +---+----------------+----------------+
# | Ln|Got |Expected |
# +---+----------------+----------------+
# | 1|this is line 1 |this is line 1 |
# * 2|this is line 2 |this is line b *
# | 3|this is line 3 |this is line 3 |
# +---+----------------+----------------+
not ok 2 - differences in whitespace
# Failed test ((eval 2) at line 20)
# +---+------------------+------------------+
# | Ln|Got |Expected |
# +---+------------------+------------------+
# | 1| indented | indented |
# * 2| indented |\tindented *
# | 3| indented | indented |
# +---+------------------+------------------+
not ok 3
# Failed test ((eval 2) at line 22)
# +----+-------------------------------------+----------------------------+
# | Elt|Got |Expected |
# +----+-------------------------------------+----------------------------+
# * 0|bless( [ |[ *
# * 1| 'Move along, nothing to see here' | 'Dry, humorless message' *
# * 2|], 'Test::Builder' ) |] *
# +----+-------------------------------------+----------------------------+
# Looks like you failed 3 tests of 3.
eq_or_diff_...() compares two strings or (limited) data structures and
either emits an ok indication or a side-by-side diff. Test::Differences is
designed to be used with Test.pm and with Test::Simple, Test::More, and
other Test::Builder based testing modules. As the SYNOPSIS shows, another
testing module must be used as the basis for your test suite.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%changelog