Compare commits

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

35 commits

Author SHA1 Message Date
Petr Písař
c57ac5340e Adapt integration tests to changes in packaging of biblatex 2026-08-14 16:26:54 +02:00
Petr Písař
9da45daa6a 2.22 bump 2026-08-14 14:42:42 +02:00
Fedora Release Engineering
522164a5e0 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-15 20:09:50 +00:00
Fedora Release Engineering
ac4ebf9bf3 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 08:19:24 +00:00
Fedora Release Engineering
ad617cf001 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 04:22:31 +00:00
Fedora Release Engineering
977559dda7 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:40:31 +00:00
Petr Písař
3a0de4a527 2.21 bump 2025-07-10 17:09:49 +02:00
Petr Písař
24c2771d82 2.20 bump 2025-02-03 11:45:33 +01:00
Fedora Release Engineering
07a1675953 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 12:27:18 +00:00
Fedora Release Engineering
03ff935f65 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 18:15:10 +00:00
Fedora Release Engineering
3d34b7ee5b Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-23 00:19:54 +00:00
Fedora Release Engineering
090b6d22d0 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 14:21:36 +00:00
Fedora Release Engineering
b73d22fd0c Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 14:34:42 +00:00
Petr Písař
bbdc4721a1 Rebuild with a different release number
https://pagure.io/releng/issue/11330
2023-03-10 14:21:42 +01:00
Petr Písař
697c1b7f7a 2.19 bump 2023-03-07 11:11:52 +01:00
Fedora Release Engineering
2782f5bbac Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 22:50:38 +00:00
Jitka Plesnikova
e268412d93 Remove perl(MODULE_COMPAT), it will be replaced by generators 2023-01-13 09:26:50 +01:00
Petr Písař
875def016f Add an integration test with BibLaTeX
biber and textlive-biblaetx needs to agree on a format version. The
version exposed with "bcfversion" RPM dependency. To catch the RPM
dependency is in line with the packaged code, this test exhibits a use
of biber from the BibLaTeX.
2022-09-20 17:30:30 +02:00
Petr Písař
7469f6d69f 2.18 bump 2022-09-09 14:02:16 +02:00
Fedora Release Engineering
b3b5cab3e2 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 21:57:12 +00:00
Jitka Plesnikova
ccd5f17d15 Perl 5.36 rebuild 2022-05-31 22:18:54 +02:00
Petr Písař
7e0a1ebed7 Use relative symbolic links in the tests 2022-05-25 13:23:44 +02:00
Petr Písař
107d1fca36 Adapt to Perl 5.36 2022-05-25 12:52:17 +02:00
Petr Písař
5d63d5339c Provide bcfversion for textlive-biblatex to depend on 2022-01-31 14:50:58 +01:00
Petr Písař
9dbe3a9af8 2.17 bump 2022-01-26 16:37:30 +01:00
Fedora Release Engineering
6605425c2d - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:18:31 +00:00
Fedora Release Engineering
0d694fd4a8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 18:34:44 +00:00
Fedora Release Engineering
8a130d318b - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 13:38:17 +00:00
Jitka Plesnikova
86ad69a8e2 Perl 5.34 rebuild 2021-05-21 22:39:24 +02:00
Petr Písař
90527f76c1 Fix a typo in a dependency type 2021-05-18 13:35:22 +02:00
Petr Písař
f09e1dd6c8 Add biber-2.16-Normalize-shebangs.patch 2021-05-18 13:12:57 +02:00
Petr Písař
7ef4c44484 Add FMF tests and gating 2021-05-18 12:05:30 +02:00
Petr Písař
1c629bc826 Package the tests 2021-05-18 12:04:57 +02:00
Petr Písař
38e385b95b 2.16 bump 2021-05-18 12:01:35 +02:00
Fedora Release Engineering
b5eac823b9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 01:06:43 +00:00
21 changed files with 445 additions and 5675 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

7
.gitignore vendored
View file

@ -6,3 +6,10 @@
/v2.11.tar.gz
/v2.12.tar.gz
/v2.14.tar.gz
/v2.16.tar.gz
/v2.17.tar.gz
/v2.18.tar.gz
/v2.19.tar.gz
/v2.20.tar.gz
/v2.21.tar.gz
/v2.22.tar.gz

File diff suppressed because it is too large Load diff

View file

@ -1,37 +0,0 @@
From 06b39a9a6273c56a52ed647fcb033884737a30dd Mon Sep 17 00:00:00 2001
From: "Colin B. Macdonald" <cbm@m.fsf.org>
Date: Sun, 17 Nov 2019 02:34:05 -0800
Subject: [PATCH] ... and delete them again
---
t/set-dynamic.t | 1 -
t/set-static.t | 1 -
2 files changed, 2 deletions(-)
diff --git a/t/set-dynamic.t b/t/set-dynamic.t
index e5db23a9..0846f8a9 100644
--- a/t/set-dynamic.t
+++ b/t/set-dynamic.t
@@ -152,7 +152,6 @@ my $string5 = q| \entry{Dynamic3}{book}{}
\strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b}
\field{sortinit}{1}
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
- \field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
diff --git a/t/set-static.t b/t/set-static.t
index 2a2094b2..a6cbe738 100644
--- a/t/set-static.t
+++ b/t/set-static.t
@@ -146,7 +146,6 @@ my $string5 = q| \entry{Static2}{book}{}
\strng{authorfullhash}{43874d80d7ce68027102819f16c47df1}
\field{sortinit}{1}
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
- \field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
--
2.23.0

View file

@ -1,50 +0,0 @@
From 70ce175631299ba6472200279f3e0430c1fd9a1e Mon Sep 17 00:00:00 2001
From: "Colin B. Macdonald" <cbm@m.fsf.org>
Date: Sun, 17 Nov 2019 02:20:18 -0800
Subject: [PATCH] backport test changes between v2.12 and U::C fix
---
t/remote-files.t | 1 -
t/set-dynamic.t | 1 +
t/set-static.t | 1 +
3 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/t/remote-files.t b/t/remote-files.t
index c747dcd0..64ea7452 100644
--- a/t/remote-files.t
+++ b/t/remote-files.t
@@ -187,7 +187,6 @@ my $ssl = q| \entry{merleau-ponty_philosophe_2010}{incollection}{}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
- \field{booktitle}{Œuvres}
\field{title}{Le philosophe et son ombre}
\field{year}{2010}
\field{pages}{1267\bibrangedash 1289}
diff --git a/t/set-dynamic.t b/t/set-dynamic.t
index 9ab5fddb..73f98735 100644
--- a/t/set-dynamic.t
+++ b/t/set-dynamic.t
@@ -152,6 +152,7 @@ my $string5 = q| \entry{Dynamic3}{book}{}
\strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b}
\field{sortinit}{1}
\field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29}
+ \field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
diff --git a/t/set-static.t b/t/set-static.t
index 1e45d4df..56a72e08 100644
--- a/t/set-static.t
+++ b/t/set-static.t
@@ -146,6 +146,7 @@ my $string5 = q| \entry{Static2}{book}{}
\strng{authorfullhash}{43874d80d7ce68027102819f16c47df1}
\field{sortinit}{1}
\field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29}
+ \field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
--
2.23.0

View file

@ -0,0 +1,26 @@
From 223b0aab7b431dc1d1d4eb5fb12db5ae30463c5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 18 May 2021 12:00:07 +0200
Subject: [PATCH] Normalize shebangs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
bin/biber | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/biber b/bin/biber
index 873550b..48b4419 100755
--- a/bin/biber
+++ b/bin/biber
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!perl
use v5.24;
use strict;
--
2.26.3

View file

@ -1,22 +0,0 @@
From 7998b16045ddcb86a9e2b7ef322f329637653a6b Mon Sep 17 00:00:00 2001
From: Philip Kime <Philip@kime.org.uk>
Date: Mon, 26 Oct 2015 21:47:38 +0000
Subject: [PATCH] Bumped U::N to new XSUB version
---
Build.PL | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Build.PL b/Build.PL
index eefb1a8..d84786d 100644
--- a/Build.PL
+++ b/Build.PL
@@ -57,7 +57,7 @@ my $builder = $class->new(
'Regexp::Common' => 0,
'Log::Log4perl' => 0,
'Unicode::Collate' => '1.14',
- 'Unicode::Normalize' => '<= 1.17',# 1.18 removes XS and is too slow
+ 'Unicode::Normalize' => '1.23',
'Unicode::GCString' => 0,
'Encode::EUCJPASCII' => 0,
'Encode::JIS2K' => 0,

View file

@ -1,52 +0,0 @@
Upstream says:
I think you can ignore this. It's almost certainly to do with minor
difference in locales between OSX and Linux. You are using the same
locale as I am (en_GB.UTF-8) in the OS and this usually means that the
collation tables for the locale are different between OSes. Since the
default is to use the Unicode Collation algorithm anyway, this hardly
matters. I only use OS locales in the tests to speed them up a bit.
https://github.com/plk/biber/issues/72#issuecomment-114232856
---
diff -u -r biblatex-biber-2.1-orig/t/sort-order.t biblatex-biber-2.1/t/sort-order.t
--- biblatex-biber-2.1-orig/t/sort-order.t
+++ biblatex-biber-2.1/t/sort-order.t
@@ -4,7 +4,7 @@
use utf8;
no warnings 'utf8';
-use Test::More tests => 15;
+use Test::More tests => 14;
use Biber;
use Biber::Output::bbl;
@@ -482,26 +482,6 @@
is_deeply([$main->get_keys], ['L9','L6','L7','L8','L5','L4','L3','L2','L1B','L1A','L1'], 'nty with descending n');
-# testing case sensitive with fastsort
-# In alphabetic, all uppercase comes before lower so the
-# "sortcase => 1" on location means that "edinburgh" sorts at the end after "London"
-# Take this out of the location sorting spec and it fails as it should
-$S = { spec => [
- [
- {sortcase => 1},
- {'location' => {}}
- ]
- ]};
-
-$main->set_sortscheme($S);
-
-$biber->set_output_obj(Biber::Output::bbl->new());
-# Have to set locale to something which understands lexical/case differences for this test
-# otherwise testing on Windows doesn't work ...
-Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
-$biber->prepare;
-$section = $biber->sections->get_section(0);
-is_deeply([$main->get_keys], ['L1B','L1','L1A','L2','L3','L4','L5','L7','L8','L9','L6'], 'location - sortcase=1');
# Test nosort option
$S = { spec => [

View file

@ -1,39 +0,0 @@
From 1f2ffc6824f23681143b3f1ff1b2fb0a0b771bd8 Mon Sep 17 00:00:00 2001
From: Philip Kime <Philip@kime.org.uk>
Date: Mon, 22 Jun 2015 21:39:16 +0200
Subject: [PATCH] More sort test fixes
---
t/sort-complex.t | 2 +-
t/sort-order.t | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/sort-complex.t b/t/sort-complex.t
index 650d40e..746f5f8 100755
--- a/t/sort-complex.t
+++ b/t/sort-complex.t
@@ -240,7 +240,7 @@ Biber::Config->setoption('sourcemap', undef); # no longer ignore shorthand*
$bibentries->del_entries;
$section->del_everykeys;
Biber::Input::file::bibtex->init_cache;
-Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
+Biber::Config->setoption('fastsort', 0);
$biber->prepare;
$section = $biber->sections->get_section(0);
$shs = $biber->sortlists->get_list(0, 'shorthands', 'list', 'shorthands');
diff --git a/t/sort-order.t b/t/sort-order.t
index 4e9ad5d..c201e4c 100755
--- a/t/sort-order.t
+++ b/t/sort-order.t
@@ -498,7 +498,7 @@ $main->set_sortscheme($S);
$biber->set_output_obj(Biber::Output::bbl->new());
# Have to set locale to something which understands lexical/case differences for this test
# otherwise testing on Windows doesn't work ...
-Biber::Config->setoption('sortlocale', 'en_US.UTF-8');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
$biber->prepare;
$section = $biber->sections->get_section(0);
is_deeply([$main->get_keys], ['L1B','L1','L1A','L2','L3','L4','L5','L7','L8','L9','L6'], 'location - sortcase=1');
--
2.5.0

View file

@ -1,41 +0,0 @@
From 2b578a8e1c8e6c7d780418fa05d3293771cc0f62 Mon Sep 17 00:00:00 2001
From: Philip Kime <Philip@kime.org.uk>
Date: Mon, 22 Jun 2015 09:50:39 +0200
Subject: [PATCH] Test fixes for Fedora
---
t/sort-complex.t | 1 +
t/sort-order.t | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/t/sort-complex.t b/t/sort-complex.t
index 3bd580c..650d40e 100755
--- a/t/sort-complex.t
+++ b/t/sort-complex.t
@@ -240,6 +240,7 @@ Biber::Config->setoption('sourcemap', undef); # no longer ignore shorthand*
$bibentries->del_entries;
$section->del_everykeys;
Biber::Input::file::bibtex->init_cache;
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
$biber->prepare;
$section = $biber->sections->get_section(0);
$shs = $biber->sortlists->get_list(0, 'shorthands', 'list', 'shorthands');
diff --git a/t/sort-order.t b/t/sort-order.t
index 27c5bf5..4e9ad5d 100755
--- a/t/sort-order.t
+++ b/t/sort-order.t
@@ -496,9 +496,9 @@ $S = { spec => [
$main->set_sortscheme($S);
$biber->set_output_obj(Biber::Output::bbl->new());
-# Have to set locale to something which understand lexical/case differences for this test
+# Have to set locale to something which understands lexical/case differences for this test
# otherwise testing on Windows doesn't work ...
-Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
+Biber::Config->setoption('sortlocale', 'en_US.UTF-8');
$biber->prepare;
$section = $biber->sections->get_section(0);
is_deeply([$main->get_keys], ['L1B','L1','L1A','L2','L3','L4','L5','L7','L8','L9','L6'], 'location - sortcase=1');
--
2.5.0

File diff suppressed because it is too large Load diff

View file

@ -1,724 +0,0 @@
From d03fc1a65850213ff3254dc18dc374594e144a6c Mon Sep 17 00:00:00 2001
From: Philip Kime <Philip@kime.org.uk>
Date: Sun, 21 Jun 2015 10:25:39 +0200
Subject: [PATCH] Updates for perl 5.22 changes
---
lib/Biber/Input/file/bibtex.pm | 8 +++-----
lib/Biber/LaTeX/Recode.pm | 6 +++---
t/basic-misc.t | 2 +-
t/biblatexml.t | 2 +-
t/bibtex-aliases.t | 2 +-
t/bibtex-output.t | 2 +-
t/crossrefs.t | 2 +-
t/dm-constraints.t | 2 +-
t/dm-dateformats.t | 2 +-
t/encoding.t | 2 +-
t/endnotexml.t | 2 +-
t/extratitle.t | 2 +-
t/extratitleyear.t | 2 +-
t/extrayear.t | 2 +-
t/labelalpha.t | 2 +-
t/labelname.t | 2 +-
t/names.t | 2 +-
t/options.t | 3 ++-
t/related-entries.t | 2 +-
t/remote-files.t | 2 +-
t/ris.t | 2 +-
t/sections-complex.t | 2 +-
t/sections.t | 2 +-
t/set-dynamic.t | 2 +-
t/set-legacy.t | 2 +-
t/set-static.t | 2 +-
t/skips.t | 2 +-
t/sort-case.t | 2 +-
t/sort-complex.t | 2 +-
t/sort-order.t | 4 ++--
t/sort-uc.t | 2 +-
t/sorting.t | 2 +-
t/tool-bltxml.t | 2 +-
t/tool.t | 2 +-
t/uniqueness.t | 32 ++++++++++++++++----------------
t/xdata.t | 2 +-
t/zoterordfxml.t | 2 +-
37 files changed, 58 insertions(+), 59 deletions(-)
diff --git a/lib/Biber/Input/file/bibtex.pm b/lib/Biber/Input/file/bibtex.pm
index 24b2772..a6e240d 100644
--- a/lib/Biber/Input/file/bibtex.pm
+++ b/lib/Biber/Input/file/bibtex.pm
@@ -657,8 +657,6 @@ sub _literal {
else {
$bibentry->set_datafield($field, $value);
}
-
-
return;
}
@@ -759,7 +757,7 @@ sub _name {
# Check for malformed names in names which aren't completely escaped
# Too many commas
- unless ($name =~ m/\A{\X+}\z/xms) { # Ignore these tests for escaped names
+ unless ($name =~ m/\A\{\X+\}\z/xms) { # Ignore these tests for escaped names
my @commas = $name =~ m/,/g;
if ($#commas > 1) {
biber_warn("Name \"$name\" has too many commas: skipping name", $bibentry);
@@ -1262,8 +1260,8 @@ my %months = (
sub _hack_month {
my $in_month = shift;
- if ($in_month =~ m/\A\s*((?:jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec).*)\s*\z/i) {
- return $months{lc(Unicode::GCString->new($1)->substr(0,3)->as_string)};
+ if (my ($m) = $in_month =~ m/\A\s*((?:jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec).*)\s*\z/i) {
+ return $months{lc(Unicode::GCString->new($m)->substr(0,3)->as_string)};
}
else {
return $in_month;
diff --git a/lib/Biber/LaTeX/Recode.pm b/lib/Biber/LaTeX/Recode.pm
index a2900b2..427f7f5 100644
--- a/lib/Biber/LaTeX/Recode.pm
+++ b/lib/Biber/LaTeX/Recode.pm
@@ -230,13 +230,13 @@ sub latex_decode {
$text =~ s/\\not\\($re)/$map->{$1}/ge;
}
elsif ($type eq 'superscripts') {
- $text =~ s/\\textsuperscript{($re)}/$map->{$1}/ge;
+ $text =~ s/\\textsuperscript\{($re)\}/$map->{$1}/ge;
}
elsif ($type eq 'cmdsuperscripts') {
- $text =~ s/\\textsuperscript{\\($re)}/$map->{$1}/ge;
+ $text =~ s/\\textsuperscript\{\\($re)\}/$map->{$1}/ge;
}
elsif ($type eq 'dings') {
- $text =~ s/\\ding{([2-9AF][0-9A-F])}/$map->{$1}/ge;
+ $text =~ s/\\ding\{([2-9AF][0-9A-F])\}/$map->{$1}/ge;
}
elsif ($type eq 'letters') {
$text =~ s/\\($re)(?:\{\}|\s+|\b)/$map->{$1}/ge;
diff --git a/t/basic-misc.t b/t/basic-misc.t
index bee5728..817fe13 100755
--- a/t/basic-misc.t
+++ b/t/basic-misc.t
@@ -37,7 +37,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
Biber::Config->setblxoption('uniquelist', 1);
Biber::Config->setblxoption('maxcitenames', 3);
diff --git a/t/biblatexml.t b/t/biblatexml.t
index 3bf4b0c..0642d44 100755
--- a/t/biblatexml.t
+++ b/t/biblatexml.t
@@ -38,8 +38,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Now generate the information
$biber->prepare;
diff --git a/t/bibtex-aliases.t b/t/bibtex-aliases.t
index ba0b1d6..c1970e9 100755
--- a/t/bibtex-aliases.t
+++ b/t/bibtex-aliases.t
@@ -37,8 +37,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setoption('validate_datamodel', 1);
# THERE IS A MAPPING SECTION IN THE .bcf BEING USED TO TEST USER MAPS TOO!
diff --git a/t/bibtex-output.t b/t/bibtex-output.t
index 21c1ae7..673cba7 100755
--- a/t/bibtex-output.t
+++ b/t/bibtex-output.t
@@ -36,7 +36,7 @@ Log::Log4perl->init(\$l4pconf);
# Biber options
Biber::Config->setoption('output_resolve', 1);
Biber::Config->setoption('output_format', 'bibtex');
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
$biber->parse_ctrlfile('bibtex-output.bcf');
$biber->set_output_obj(Biber::Output::bibtex->new());
diff --git a/t/crossrefs.t b/t/crossrefs.t
index 6108f34..473bec7 100755
--- a/t/crossrefs.t
+++ b/t/crossrefs.t
@@ -40,8 +40,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setoption('nodieonerror', 1); # because there is a failing cyclic crossref check
# Now generate the information
diff --git a/t/dm-constraints.t b/t/dm-constraints.t
index b16e326..187c482 100755
--- a/t/dm-constraints.t
+++ b/t/dm-constraints.t
@@ -50,9 +50,9 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
Biber::Config->setoption('validate_datamodel', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Now generate the information
$biber->prepare;
diff --git a/t/dm-dateformats.t b/t/dm-dateformats.t
index 85f7927..71a0ab6 100755
--- a/t/dm-dateformats.t
+++ b/t/dm-dateformats.t
@@ -35,8 +35,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setoption('validate_datamodel', 1);
# Biblatex options
diff --git a/t/encoding.t b/t/encoding.t
index a4aae96..321ca09 100755
--- a/t/encoding.t
+++ b/t/encoding.t
@@ -30,8 +30,8 @@ my $l4pconf = qq|
|;
Log::Log4perl->init(\$l4pconf);
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
my $encode1 = q| \entry{testŠ}{book}{}
\name{author}{1}{}{%
diff --git a/t/endnotexml.t b/t/endnotexml.t
index 7dc871f..dc171f0 100755
--- a/t/endnotexml.t
+++ b/t/endnotexml.t
@@ -34,8 +34,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# THERE IS A CONFIG FILE BEING READ TO TEST USER MAPS TOO!
diff --git a/t/extratitle.t b/t/extratitle.t
index 425b458..aa7724b 100755
--- a/t/extratitle.t
+++ b/t/extratitle.t
@@ -35,8 +35,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
diff --git a/t/extratitleyear.t b/t/extratitleyear.t
index df40e14..7c1e311 100755
--- a/t/extratitleyear.t
+++ b/t/extratitleyear.t
@@ -35,8 +35,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Now generate the information
$biber->prepare;
diff --git a/t/extrayear.t b/t/extrayear.t
index 2da61c6..51d1389 100755
--- a/t/extrayear.t
+++ b/t/extrayear.t
@@ -35,8 +35,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
diff --git a/t/labelalpha.t b/t/labelalpha.t
index 3dcf427..8a25c36 100755
--- a/t/labelalpha.t
+++ b/t/labelalpha.t
@@ -37,8 +37,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Biblatex options
Biber::Config->setblxoption('maxalphanames', 1);
diff --git a/t/labelname.t b/t/labelname.t
index a1362b1..ae731df 100755
--- a/t/labelname.t
+++ b/t/labelname.t
@@ -27,8 +27,8 @@ my $l4pconf = qq|
|;
Log::Log4perl->init(\$l4pconf);
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
$biber->parse_ctrlfile("general1.bcf");
$biber->set_output_obj(Biber::Output::bbl->new());
diff --git a/t/names.t b/t/names.t
index 776ebf0..f14e48b 100755
--- a/t/names.t
+++ b/t/names.t
@@ -38,8 +38,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('namesep', 'und'); # Testing custom name splitting string
Biber::Config->setoption('others_string', 'andere'); # Testing custom implied "et al"
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setblxoption('mincitenames', 3);
# Now generate the information
diff --git a/t/options.t b/t/options.t
index ae19a92..0d845ce 100755
--- a/t/options.t
+++ b/t/options.t
@@ -34,8 +34,9 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+
# Testing customg xsv format sep
Biber::Config->setoption('xsvsep', '\s*\|\s*');
diff --git a/t/related-entries.t b/t/related-entries.t
index 273aa0b..bad2f1c 100755
--- a/t/related-entries.t
+++ b/t/related-entries.t
@@ -34,8 +34,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Now generate the information
$biber->prepare;
diff --git a/t/remote-files.t b/t/remote-files.t
index 76bc4ff..4919522 100755
--- a/t/remote-files.t
+++ b/t/remote-files.t
@@ -41,8 +41,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setoption('quiet', 1);
Biber::Config->setoption('nodieonerror', 1); # because the remote bibs might be messy
diff --git a/t/ris.t b/t/ris.t
index f558891..97170d9 100755
--- a/t/ris.t
+++ b/t/ris.t
@@ -34,8 +34,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# THERE IS A CONFIG FILE BEING READ TO TEST USER MAPS TOO!
diff --git a/t/sections-complex.t b/t/sections-complex.t
index 899b876..4d07f51 100755
--- a/t/sections-complex.t
+++ b/t/sections-complex.t
@@ -35,8 +35,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
diff --git a/t/sections.t b/t/sections.t
index 4ed5a90..51d3ff8 100755
--- a/t/sections.t
+++ b/t/sections.t
@@ -36,7 +36,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
Biber::Config->setoption('output_safechars', 1);
diff --git a/t/set-dynamic.t b/t/set-dynamic.t
index d306f58..9ca03c6 100755
--- a/t/set-dynamic.t
+++ b/t/set-dynamic.t
@@ -34,8 +34,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Now generate the information
$biber->prepare;
diff --git a/t/set-legacy.t b/t/set-legacy.t
index 0fe1b22..70fedaa 100755
--- a/t/set-legacy.t
+++ b/t/set-legacy.t
@@ -34,7 +34,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
# Now generate the information
diff --git a/t/set-static.t b/t/set-static.t
index e9a3224..f292b05 100755
--- a/t/set-static.t
+++ b/t/set-static.t
@@ -34,7 +34,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
# Now generate the information
diff --git a/t/skips.t b/t/skips.t
index 23ff3c7..8c4cf3e 100755
--- a/t/skips.t
+++ b/t/skips.t
@@ -34,7 +34,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
# Now generate the information
diff --git a/t/sort-case.t b/t/sort-case.t
index d8269b6..4eace90 100755
--- a/t/sort-case.t
+++ b/t/sort-case.t
@@ -33,7 +33,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
Biber::Config->setoption('sortcase', 1);
Biber::Config->setoption('sortupper', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
$S = [
[
diff --git a/t/sort-complex.t b/t/sort-complex.t
index b8d2e12..3bd580c 100755
--- a/t/sort-complex.t
+++ b/t/sort-complex.t
@@ -34,8 +34,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# relying on here for tests
# Biber options
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
# Want to ignore SHORTHAND* fields for the first few tests
Biber::Config->setoption('sourcemap', [
{
diff --git a/t/sort-order.t b/t/sort-order.t
index 2590d32..27c5bf5 100755
--- a/t/sort-order.t
+++ b/t/sort-order.t
@@ -31,8 +31,8 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Options - we could set these in the control file but it's nice to see what we're
# relying on here for tests
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
Biber::Config->setblxoption('labelyear', undef);
Biber::Config->setblxoption('labelalpha', 0);
@@ -498,7 +498,7 @@ $main->set_sortscheme($S);
$biber->set_output_obj(Biber::Output::bbl->new());
# Have to set locale to something which understand lexical/case differences for this test
# otherwise testing on Windows doesn't work ...
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
$biber->prepare;
$section = $biber->sections->get_section(0);
is_deeply([$main->get_keys], ['L1B','L1','L1A','L2','L3','L4','L5','L7','L8','L9','L6'], 'location - sortcase=1');
diff --git a/t/sort-uc.t b/t/sort-uc.t
index ceb722b..33680ae 100755
--- a/t/sort-uc.t
+++ b/t/sort-uc.t
@@ -31,7 +31,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Options - we could set these in the control file but it's nice to see what we're
# relying on here for tests
-Biber::Config->setoption('sortlocale', 'sv_SE');
+Biber::Config->setoption('sortlocale', 'sv_SE.UTF-8');
# U::C Swedish tailoring
$biber->prepare;
diff --git a/t/sorting.t b/t/sorting.t
index c7ed9d5..3d878cf 100755
--- a/t/sorting.t
+++ b/t/sorting.t
@@ -36,7 +36,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
my $yearoff1 = 'mm,,Knuth!Donald E,Computers Typesetting,1984,0000';
my $yearoff2 = 'mm,,Knuth!Donald E,Computers Typesetting,198,0000';
diff --git a/t/tool-bltxml.t b/t/tool-bltxml.t
index 7bd62b9..9134f98 100644
--- a/t/tool-bltxml.t
+++ b/t/tool-bltxml.t
@@ -44,7 +44,7 @@ $out->set_output_target_file(\$outvar);
Biber::Config->setoption('tool', 1);
Biber::Config->setoption('output_resolve', 1);
Biber::Config->setoption('output_format', 'biblatexml');
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# THERE IS A CONFIG FILE BEING READ!
diff --git a/t/tool.t b/t/tool.t
index 8a4283b..22325d0 100755
--- a/t/tool.t
+++ b/t/tool.t
@@ -38,7 +38,7 @@ $biber->set_output_obj(Biber::Output::bibtex->new());
Biber::Config->setoption('tool', 1);
Biber::Config->setoption('output_resolve', 1);
Biber::Config->setoption('output_format', 'bibtex');
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# THERE IS A CONFIG FILE BEING READ!
diff --git a/t/uniqueness.t b/t/uniqueness.t
index 23eaf5b..b990e3b 100755
--- a/t/uniqueness.t
+++ b/t/uniqueness.t
@@ -36,7 +36,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
@@ -84,7 +84,7 @@ $biber->parse_ctrlfile('uniqueness1.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
@@ -111,7 +111,7 @@ $biber->parse_ctrlfile('uniqueness2.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 5);
@@ -138,7 +138,7 @@ $biber->parse_ctrlfile('uniqueness1.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 2);
Biber::Config->setblxoption('mincitenames', 1);
@@ -157,7 +157,7 @@ $biber->parse_ctrlfile('uniqueness2.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 1);
Biber::Config->setblxoption('uniquelist', 1);
@@ -218,7 +218,7 @@ $biber->parse_ctrlfile('uniqueness1.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
Biber::Config->setblxoption('mincitenames', 1);
@@ -247,7 +247,7 @@ $biber->parse_ctrlfile('uniqueness4.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 3);
Biber::Config->setblxoption('mincitenames', 3);
@@ -317,7 +317,7 @@ $biber->parse_ctrlfile('uniqueness4.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 3);
Biber::Config->setblxoption('mincitenames', 1);
@@ -357,7 +357,7 @@ $biber->parse_ctrlfile('uniqueness4.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 2);
Biber::Config->setblxoption('mincitenames', 1);
@@ -393,7 +393,7 @@ $biber->parse_ctrlfile('uniqueness5.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 1);
Biber::Config->setblxoption('mincitenames', 1);
@@ -422,7 +422,7 @@ $biber->parse_ctrlfile('uniqueness5.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('maxcitenames', 3);
Biber::Config->setblxoption('mincitenames', 2);
@@ -451,7 +451,7 @@ $biber->parse_ctrlfile('uniqueness3.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 1);
Biber::Config->setblxoption('uniquelist', 0);
@@ -480,7 +480,7 @@ $biber->parse_ctrlfile('uniqueness3.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 2);
Biber::Config->setblxoption('uniquelist', 1);
@@ -509,7 +509,7 @@ $biber->parse_ctrlfile('uniqueness3.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 0);
Biber::Config->setblxoption('uniquelist', 0);
@@ -538,7 +538,7 @@ $biber->parse_ctrlfile('uniqueness2.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 3);
Biber::Config->setblxoption('uniquelist', 1);
@@ -565,7 +565,7 @@ $biber->parse_ctrlfile('uniqueness2.bcf');
$biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Biblatex options
Biber::Config->setblxoption('uniquename', 4);
Biber::Config->setblxoption('uniquelist', 1);
diff --git a/t/xdata.t b/t/xdata.t
index 2110639..49d0005 100644
--- a/t/xdata.t
+++ b/t/xdata.t
@@ -44,7 +44,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
Biber::Config->setoption('nodieonerror', 1); # because there is a cyclic xdata check
# Now generate the information
diff --git a/t/zoterordfxml.t b/t/zoterordfxml.t
index 09b5fa1..33e058e 100755
--- a/t/zoterordfxml.t
+++ b/t/zoterordfxml.t
@@ -37,7 +37,7 @@ $biber->set_output_obj(Biber::Output::bbl->new());
# Biber options
Biber::Config->setoption('fastsort', 1);
-Biber::Config->setoption('sortlocale', 'C');
+Biber::Config->setoption('sortlocale', 'en_GB.UTF-8');
# Now generate the information
$biber->prepare;
--
2.5.0

View file

@ -1,2 +1,3 @@
from Config import *
addFilter("spelling-error .* (bibtex|biblatex|superset|texlive)");
addFilter('spelling-error .* (bibtex|biblatex|superset|texlive)')
addFilter('-tests\.noarch: W: no-documentation')
addFilter('-tests\.noarch: W: dangling-symlink /usr/libexec/biber/')

View file

@ -1,53 +1,80 @@
Name: biber
Version: 2.14
Release: 4%{?dist}
Summary: Command-line bibliographic manager, BibTeX replacement
License: (GPL+ or Artistic 2.0) and Artistic 2.0
URL: http://biblatex-biber.sourceforge.net/
Source0: https://github.com/plk/biber/archive/v%{version}.tar.gz
# not appropriate for upstream: http://github.com/plk/biber/pull/97
Patch0: biber-drop-builddeps-for-monolithic-build.patch
BuildArch: noarch
# Perform developer tests which exhibit a biber executable
%bcond_without biber_enables_extra_test
Name: biber
# Export $BCF_VERSION from lib/Biber/Constants.pm, bug #2048536
%define bcfversion 3.11
Version: 2.22
Release: 2%{?dist}
Summary: Command-line bibliographic manager, BibTeX replacement
# bin/biber: Artistic-2.0
# data/texmap.xsl: Artistic-2.0
# doc/biber.tex: Artistic-2.0
# lib/Biber.pm: Artistic-2.0
# lib/Biber/LaTeX/recode_data.xml: Artistic-2.0
# LICENSE: Artistic-2.0 text
# README.md: Artistic-2.0
## Not in any binary package
# Build.PL: GPL-1.0-or-later OR Artistic-1.0-Perl
## Not used at all
# etc/bibtex.g: GPL-2.0-or-later
# etc/parser.dlg: GPL-2.0-or-later (generated from etc/bibtex.g)
# etc/tugboat.bib: LicenseRef-Fedora-Public-Domain
License: Artistic-2.0
SourceLicense: %{license} AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain
URL: https://biblatex-biber.sourceforge.net/
Source0: https://github.com/plk/biber/archive/v%{version}.tar.gz
# Not appropriate for upstream: http://github.com/plk/biber/pull/97
Patch0: biber-drop-builddeps-for-monolithic-build.patch
# Do not use /bin/env in shebangs
Patch1: biber-2.16-Normalize-shebangs.patch
BuildArch: noarch
BuildRequires: coreutils
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(Config)
BuildRequires: perl(Module::Build)
BuildRequires: perl(strict)
BuildRequires: perl(utf8)
BuildRequires: perl(warnings)
# Run-time:
BuildRequires: perl(:VERSION) >= 5.24
BuildRequires: perl(autovivification)
BuildRequires: perl(base)
BuildRequires: perl(Business::ISBN)
BuildRequires: perl(Business::ISMN)
BuildRequires: perl(Business::ISSN)
BuildRequires: perl(constant)
BuildRequires: perl(Capture::Tiny)
BuildRequires: perl(Carp)
BuildRequires: perl(Class::Accessor)
BuildRequires: perl(constant)
BuildRequires: perl(Cwd)
BuildRequires: perl(Data::Dump)
BuildRequires: perl(Data::Compare)
BuildRequires: perl(Data::Dump)
BuildRequires: perl(Data::Uniqid)
BuildRequires: perl(Date::Simple)
BuildRequires: perl(DateTime)
BuildRequires: perl(DateTime::Calendar::Julian)
BuildRequires: perl(DateTime::Format::Builder)
BuildRequires: perl(DateTime::TimeZone)
BuildRequires: perl(Digest::MD5)
BuildRequires: perl(Encode)
BuildRequires: perl(Encode::Alias)
BuildRequires: perl(Encode::EUCJPASCII)
BuildRequires: perl(Encode::HanExtra)
BuildRequires: perl(Encode::JIS2K)
BuildRequires: perl(Exporter)
BuildRequires: perl(File::Compare)
BuildRequires: perl(File::Copy)
# File::DosGlob not used on Linux
BuildRequires: perl(File::Find)
BuildRequires: perl(File::Slurper)
BuildRequires: perl(File::Spec)
BuildRequires: perl(File::Temp)
BuildRequires: perl(File::Which)
BuildRequires: perl(FindBin)
%if %{with biber_enables_extra_test}
BuildRequires: perl(Getopt::Long)
%endif
BuildRequires: perl(IO::File)
BuildRequires: perl(IO::String)
BuildRequires: perl(IPC::Cmd)
BuildRequires: perl(IPC::Run3)
BuildRequires: perl(lib)
BuildRequires: perl(Lingua::Translit) >= 0.28
BuildRequires: perl(List::AllUtils)
BuildRequires: perl(List::MoreUtils)
BuildRequires: perl(List::MoreUtils::XS)
BuildRequires: perl(List::Util)
BuildRequires: perl(locale)
BuildRequires: perl(Log::Log4perl)
@ -55,88 +82,86 @@ BuildRequires: perl(Log::Log4perl::Appender::File)
BuildRequires: perl(Log::Log4perl::Appender::Screen)
BuildRequires: perl(Log::Log4perl::Layout::PatternLayout)
BuildRequires: perl(Log::Log4perl::Layout::SimpleLayout)
%if %{with biber_enables_extra_test}
BuildRequires: perl(Log::Log4perl::Level)
%endif
BuildRequires: perl(LWP::Protocol::https)
BuildRequires: perl(Module::Build) >= 0.38
BuildRequires: perl(open)
BuildRequires: perl(LWP::UserAgent)
# Mozilla::CA is not helpful
BuildRequires: perl(parent)
BuildRequires: perl(Parse::RecDescent)
BuildRequires: perl(PerlIO::utf8_strict)
%if %{with biber_enables_extra_test}
BuildRequires: perl(Pod::Usage)
%endif
BuildRequires: perl(POSIX)
BuildRequires: perl(re)
BuildRequires: perl(Regexp::Common)
BuildRequires: perl(Storable)
BuildRequires: perl(Safe)
BuildRequires: perl(Scalar::Util)
BuildRequires: perl(sigtrap)
BuildRequires: perl(Sort::Key)
BuildRequires: perl(strict)
BuildRequires: perl(Text::CSV)
BuildRequires: perl(Text::CSV_XS)
BuildRequires: perl(Test::Differences)
BuildRequires: perl(Test::More)
BuildRequires: perl(Test::Pod)
BuildRequires: perl(Test::Pod::Coverage)
BuildRequires: perl(Text::BibTeX) >= 0.85
BuildRequires: perl(Storable)
BuildRequires: perl(Text::Balanced)
BuildRequires: perl(Text::BibTeX) >= 0.88
BuildRequires: perl(Text::BibTeX::Name)
BuildRequires: perl(Text::BibTeX::NameFormat)
BuildRequires: perl(Text::CSV)
BuildRequires: perl(Text::Roman)
BuildRequires: perl(Text::Wrap)
BuildRequires: perl(Unicode::UCD)
BuildRequires: perl(Unicode::LineBreak) >= 2019.001
BuildRequires: perl(Unicode::Normalize) >= 1.26
# Unicode::Collate::Locale version from Unicode::Collate in Build.PL
BuildRequires: perl(Unicode::Collate::Locale) >= 1.29
BuildRequires: perl(Unicode::GCString)
BuildRequires: perl(Unicode::Collate::Locale) >= 1.27
BuildRequires: perl(Unicode::Normalize) >= 1.26
BuildRequires: perl(Unicode::UCD)
BuildRequires: perl(URI)
BuildRequires: perl(utf8)
BuildRequires: perl(vars)
BuildRequires: perl(warnings)
# Win32* not used on Linux
BuildRequires: perl(XML::LibXML)
BuildRequires: perl(XML::LibXML::Simple)
BuildRequires: perl(XML::LibXSLT)
BuildRequires: perl(XML::Writer)
# For tests
# Break build cycle biber -> texlive-plain -> texlive-biblatex -> biber
%if !%{defined perl_bootstrap}
BuildRequires: texlive-plain
# Tests:
BuildRequires: perl(Capture::Tiny)
BuildRequires: perl(File::Which)
BuildRequires: perl(open)
BuildRequires: perl(Test::Differences)
BuildRequires: perl(Test::More)
# Optional tests:
# texlive-plain not helpful; The only "plain.tex" usage in t/utils.t checks
# that it exist on a file system.
# It would also create a build cycle: texlive-plain → texlive-biblatex → biber
# Extra tests:
%if %{with biber_enables_extra_test}
BuildRequires: perl(File::Compare)
%endif
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(autovivification)
Requires: perl(Business::ISBN)
Requires: perl(Business::ISMN)
Requires: perl(Business::ISSN)
# Upstream confirmed [1] deps on Encode::* and List::MoreUtils (c.f., [2]).
# [1] https://github.com/plk/biber/issues/98
# [2] https://bugzilla.redhat.com/show_bug.cgi?id=1165620
Requires: perl(Encode::EUCJPASCII)
Requires: perl(Encode::HanExtra)
Requires: perl(Encode::JIS2K)
Requires: perl(List::MoreUtils)
Requires: perl(List::MoreUtils::XS)
Requires: perl(Lingua::Translit) >= 0.28
Requires: perl(LWP::UserAgent)
Requires: perl(LWP::Protocol::https)
Requires: perl(Mozilla::CA) >= 20141217
Requires: perl(PerlIO::utf8_strict)
Requires: perl(Text::BibTeX) >= 0.88
Requires: perl(Text::Roman)
Requires: perl(Unicode::Collate::Locale)
# Unicode::Collate::Locale version from Unicode::Collate in Build.PL
Requires: perl(Unicode::Collate::Locale) >= 1.29
Requires: perl(XML::LibXSLT)
Requires: texlive-biblatex >= 7:svn42680
# Biber need a minimum biblatex (src: doc/biber.tex "Compatibility Matrix")
# biber | texlive-biblatex
# ------+-----------------
# 1.8 | 2.8a
# 2.1 | 3.0
# 2.6 | 3.5, 3.6
# 2.7 | 3.7 (#1401482)
# 2.8 | 3.8
# 2.9 | 3.9
# 2.10 | 3.10
# 2.11 | 3.11
# 2.12 | 3.12
# 2.13 | 3.13
# 2.14 | 3.14
# (biblatex also has minimum biber requirements)
# filter autogenerated runtime dep, instead use constraint above
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Text::BibTeX\\)$
# Biber does not use biblatex, but it requires a compatible version of
# a biblatex control file (BCF) which is produced by biblatex. See @bcfversion
# definition in /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty
# and a corresponding $BCF_VERSION in lib/Biber/Constants.pm. Unfortunally,
# Biber supports only one version of BCF. See "Compatibility Matrix" in
# doc/biber.tex.
# Because Biber does not use texlive-biblatex, Biber cannot Require it's exact
# version. Because it is expensive to rebuild texlive, it's not good to
# Require a specific biber version from texlive-biblatex.
# Hence I proposed a bcfversion dependency which both packages can agree on
# (bug #2048536).
Provides: bcfversion = %{bcfversion}
# Version at least the main module
Provides: perl(Biber) = %{version}
# Remove under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((Text::BibTeX|Unicode::Collate::Locale)\\)$
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Biber\\)$
%description
Biber is a command-line tool for dealing with bibliographic databases.
@ -145,9 +170,34 @@ functionality. It is often used with the popular BibLaTeX package
(texlive-biblatex), where it is required for some features.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: coreutils
Requires: perl-Test-Harness
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%setup -q -n biber-%{version}
%patch0 -p1
%autosetup -p1 -n biber-%{version}
# t/remote-files.t needs the Internet
for F in \
t/remote-files.t \
%if !%{with biber_enables_extra_test}
t/full-*.t \
%endif
; do
rm "$F";
perl -i -ne 'print $_ unless m{\A\Q'"$F"'\E\b}' MANIFEST
done
# Help generators to recognize Perl scripts
for F in t/*.t; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build
@ -157,24 +207,156 @@ perl Build.PL installdirs=vendor
%install
./Build install destdir=%{buildroot} create_packlist=0
chmod u+w %{buildroot}%{_bindir}/*
%{_fixperms} %{buildroot}/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
mkdir -p %{buildroot}%{_libexecdir}/%{name}/data/schemata
ln -s "$(realpath --relative-to \
%{buildroot}%{_libexecdir}/%{name}/data \
%{buildroot}%{perl_vendorlib}/Biber/biber-tool.conf)" \
%{buildroot}%{_libexecdir}/%{name}/data
for F in {bcf,config}.{rnc,rng}; do
# Keep absolute symlinks. Relative ones break the tests.
ln -s %{perl_vendorlib}/Biber/"$F" \
%{buildroot}%{_libexecdir}/%{name}/data/schemata
done
%if %{with biber_enables_extra_test}
mkdir %{buildroot}%{_libexecdir}/%{name}/bin
ln -s "$(realpath --relative-to \
%{buildroot}%{_libexecdir}/%{name}/bin \
%{buildroot}%{_bindir}/%{name})" \
%{buildroot}%{_libexecdir}/%{name}/bin
%endif
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/usr/bin/bash
set -e
# t/datalists.t via generate_bltxml_schema() writes into CWD
DIR=$(mktemp -d)
cp -a %{_libexecdir}/%{name}/* "$DIR"
pushd "$DIR"
unset BIBER_DEV_TESTS ISBN_RANGE_MESSAGE PAR_TEMP PERL_LWP_SSL_CA_FILE
%if %{with biber_enables_extra_test}
export BIBER_DEV_TESTS=1
%endif
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
popd
rm -r "$DIR"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%check
%if !%{defined perl_bootstrap}
./Build test verbose=1
unset BIBER_DEV_TESTS ISBN_RANGE_MESSAGE PAR_TEMP PERL_LWP_SSL_CA_FILE
%if %{with biber_enables_extra_test}
export BIBER_DEV_TESTS=1
%endif
export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}')
./Build test
%files
%license LICENSE
%doc README.md Changes TODO.org
%{_bindir}/%{name}
%{_mandir}/man3/*
%{_mandir}/man1/*
%{perl_vendorlib}/Biber*
%{_mandir}/man1/%{name}.*
%{_mandir}/man3/Biber.*
%{_mandir}/man3/Biber::*
%{perl_vendorlib}/Biber
%{perl_vendorlib}/Biber.pm
%files tests
%{_libexecdir}/%{name}
%changelog
* Fri Aug 14 2026 Petr Pisar <ppisar@redhat.com> - 2.22-2
- Adapt integration tests to changes in packaging of biblatex
* Fri Aug 14 2026 Petr Pisar <ppisar@redhat.com> - 2.22-1
- 2.22 bump
* Wed Jul 15 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.21-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.21-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jul 10 2025 Petr Pisar <ppisar@redhat.com> - 2.21-1
- 2.21 bump
* Mon Feb 03 2025 Petr Pisar <ppisar@redhat.com> - 2.20-1
- 2.20 bump
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Mar 10 2023 Petr Pisar <ppisar@redhat.com> - 2.19-2
- Rebuild with a different release number
* Tue Mar 07 2023 Petr Pisar <ppisar@redhat.com> - 2.19-1
- 2.19 bump
- License corrected to Artistic-2.0
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Sep 09 2022 Petr Pisar <ppisar@redhat.com> - 2.18-1
- 2.18 bump
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.17-4
- Perl 5.36 rebuild
* Wed May 25 2022 Petr Pisar <ppisar@redhat.com> - 2.17-3
- Adapt to Perl 5.36
- Use relative symbolic links in the tests
* Mon Jan 31 2022 Petr Pisar <ppisar@redhat.com> - 2.17-2
- Provide bcfversion for textlive-biblatex to depend on (bug #2048536)
* Wed Jan 26 2022 Petr Pisar <ppisar@redhat.com> - 2.17-1
- 2.17 bump
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.16-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.16-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.16-3
- Perl 5.34 rebuild
* Tue May 18 2021 Petr Pisar <ppisar@redhat.com> - 2.16-2
- Fix a typo in a dependency type
* Tue May 18 2021 Petr Pisar <ppisar@redhat.com> - 2.16-1
- 2.16 bump
- Package the tests
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

16
gating.yaml Normal file
View file

@ -0,0 +1,16 @@
--- !Policy
product_versions:
- fedora-rawhide
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

5
plans/sanity.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (v2.14.tar.gz) = dd42aabdb8f469ea759a4a7bb97cbe27ebe57e46d1b6dde7d293d1b046a55e20ac889bf9c8c6b6219ee827b162a280bf7aca239af1f357ee1ccc90600a5dcfc1
SHA512 (v2.22.tar.gz) = f7b03f6a84390a1416166ea7855073bd52faaf7a4b802b2f0cafb8f53ea1bd11e8962c747d6735f482215111ab34a34c04376b96f47e5f20164ff2cd2319561f

View file

@ -0,0 +1,27 @@
summary: Integration with BibLaTex
description: |
This test verifies that a texlive and biber work together. It checks that
a LaTeX source with BibLaTeX package with a biber backend compiles and the
a bibliography a reference to the bibilography appears in the resulting PDF
document.
<https://bugzilla.redhat.com/show_bug.cgi?id=2048536>
component:
- biber
- texlive-collection-bibtexextra
require:
- biber
- perl-interpreter
- perl(Cwd)
- perl(File::Temp)
- perl(strict)
- perl(Test::More)
- perl(utf8)
- perl(warnings)
- poppler-utils
# Locally generated pk/ljfour/public/cm/dpi600/cmti10.pk font
# breaks PDF text layer, use pregeneratd AMS font, bug #2516022
- texlive-amsfonts
- texlive-latex
- tex(biblatex.sty)
test: ./test.pl

View file

@ -0,0 +1,91 @@
#!/usr/bin/perl
=encoding utf8
=head1 LICENSE
Copyright (C) 2022 Petr Písař L<mailto:ppisar@redhat.com>
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
the Free Software Foundation, either version 3 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.
=cut
use utf8;
use strict;
use warnings;
use Test::More tests => 13;
use File::Temp ();
use Cwd ();
sub save_file {
my ($name, $content) = @_;
open(my $fh, '>', $name) or die "Could not create $name file: $!";
$fh->print($content);
close($fh) or die "Could not save $name: $!";
return 1;
}
sub read_file {
my ($name) = @_;
open(my $fh, '<:encoding(UTF-8)', $name) or die "Could not open $name file: $!";
local $/ = undef;
my $content = $fh->getline();
close($fh) or die "Could not read $name: $!";
return $content;
}
my $tmp_dir = File::Temp->newdir();
ok($tmp_dir, 'Temporary directory created');
my $old_cwd = Cwd::cwd();
ok($old_cwd, 'A working directory obtained');
ok(chdir($tmp_dir), 'Change a working directory to the temporary directory');
ok(save_file('test.tex',<<'SOURCE'), 'TeX source created');
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{a.bib}
\begin{document}
Hello~\cite{foobar2022}.
\printbibliography
\end{document}
SOURCE
ok(save_file('a.bib', <<'SOURCE'), 'BibTex source created');
@article{foobar2022,
author = {Foo and Bar},
title = {The paper},
journal = {The journal},
date = {2022},
keywords = {trusted},
}
SOURCE
ok(!system('pdflatex', 'test.tex'), 'Run pdflatex to extract a bibliography');
ok(!system('biber', 'test.bcf'), 'Run biber to process the bibliography');
ok(!system('pdflatex', 'test.tex'), 'Run pdflatex to compute a page layout');
ok(!system('pdflatex', 'test.tex'), 'Run pdflatex to insert the references');
ok(!system('pdftotext', '-nopgbrk', 'test.pdf'), 'Convert PDF to plain text');
my $typeset_text = read_file('test.txt');
ok($typeset_text, 'plain text read');
is($typeset_text, <<'EXPECTED', 'Bibliography typeset correctly');
Hello [1].
References
[1]
Foo and Bar. The paper. In: The journal (2022).
1
EXPECTED
ok(chdir($old_cwd), 'Change a workking directory back to the original directory');

4
tests/upstream-tests.fmf Normal file
View file

@ -0,0 +1,4 @@
summary: Upstream tests
component: biber
require: biber-tests
test: /usr/libexec/biber/test