summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-01-19 22:45:06 +0000
committerKarl Berry <karl@freefriends.org>2024-01-19 22:45:06 +0000
commit658373a9bbeff724374065a08da0268c19805a95 (patch)
tree9fcb04dff2dfab6d679029fe24ca5dd4d79238e9 /Master
parentf1cee4627684d3feed6f0552d428cf9f1cd3584d (diff)
l3build (19jan24)
git-svn-id: svn://tug.org/texlive/trunk@69495 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/l3build/CHANGELOG.md12
-rw-r--r--Master/texmf-dist/doc/latex/l3build/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3build/l3build.pdfbin749004 -> 749769 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/l3build.132
-rw-r--r--Master/texmf-dist/doc/man/man1/l3build.man1.pdfbin15775 -> 15787 bytes
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-arguments.lua51
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-check.lua8
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-stdmain.lua8
-rwxr-xr-xMaster/texmf-dist/scripts/l3build/l3build.lua2
-rw-r--r--Master/texmf-dist/source/latex/l3build/l3build.dtx34
10 files changed, 79 insertions, 70 deletions
diff --git a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
index 02ad0179e19..2f5f843086b 100644
--- a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-01-18]
+
+### Added
+- Switch `-s|--stdengine` to run a set of tests only with the standard engine
+ even where this varies between configs (issue \#343)
+
+### Removed
+- Switch `--force|-f`
+
## [2024-01-09]
### Fixed
@@ -760,7 +769,8 @@ this project uses date-based 'snapshot' version identifiers.
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2024-01-09...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2024-01-18...HEAD
+[2024-01-18]: https://github.com/latex3/l3build/compare/2024-01-09...2024-01-18
[2024-01-09]: https://github.com/latex3/l3build/compare/2024-01-04...2024-01-09
[2024-01-04]: https://github.com/latex3/l3build/compare/2023-12-15...2024-01-04
[2023-12-15]: https://github.com/latex3/l3build/compare/2023-12-13-2...2023-12-15
diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md
index 1196dc6d422..1dfdc42d523 100644
--- a/Master/texmf-dist/doc/latex/l3build/README.md
+++ b/Master/texmf-dist/doc/latex/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX
=================================================
-Release 2024-01-09
+Release 2024-01-18
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf
index 8883e78d95f..54b3c2c198b 100644
--- a/Master/texmf-dist/doc/latex/l3build/l3build.pdf
+++ b/Master/texmf-dist/doc/latex/l3build/l3build.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/l3build.1 b/Master/texmf-dist/doc/man/man1/l3build.1
index 47462ae7a4e..c558ee000e5 100644
--- a/Master/texmf-dist/doc/man/man1/l3build.1
+++ b/Master/texmf-dist/doc/man/man1/l3build.1
@@ -1,4 +1,4 @@
-.TH l3build 1 "2024-01-09"
+.TH l3build 1 "2024-01-18"
.SH NAME
l3build \- Checking and building packages
.SH SYNOPSIS
@@ -12,11 +12,11 @@ defaults are set up for LaTeX packages written in the DocStrip style.
.PP
The standard l3build targets are:
.IP check
-Run all automated tests
+Runs all automated tests
.IP clean
-Clean out directory tree
+Cleans out directory tree
.IP ctan
-Create CTAN-ready archive
+Creates CTAN-ready archive
.IP doc
Typesets all documentation files
.IP install
@@ -32,7 +32,7 @@ Uninstalls files from the local texmf tree
.IP unpack
Unpacks the source files into the build tree
.IP upload
-Send archive to CTAN for public release
+Sends archive to CTAN for public release
.SH OPTIONS
Various options apply
.IP --config|-c
@@ -42,7 +42,7 @@ Sets the date to insert into sources
.IP --debug
Runs target in debug mode
.IP --dirty
-Skip cleaning up the test area
+Skips cleaning up the test area
.IP --dry-run
Dry run for install or upload
.IP --email
@@ -52,17 +52,15 @@ Sets the engine(s) to use for running test
.IP --epoch
Sets the epoch for tests and typesetting
.IP --file|-F
-Take the upload announcement from the given file
+Takes the upload announcement from the given file
.IP --first
Name of first test to run
-.IP --force|-f
-Force tests to run if engine is not set up
.IP --full
-Install all files
+Installs all files
.IP --halt-on-error|-H
Stops running tests after the first failure
.IP --help|-h
-Print help message and exit
+Prints help message and exits
.IP --last
Name of last test to run
.IP --message|-m
@@ -70,17 +68,19 @@ Text for upload announcement message
.IP --quiet|-q
Suppresses TeX output when unpacking
.IP --rerun
-Skip setup: simply rerun tests
+Skips setup: simply reruns tests
.IP --show-log-on-error
-Show the full log of the failure with 'halt-on-error'
+Shows the full log of the failure with 'halt-on-error'
.IP --show-saves|-S
-Show the invocation to update failing .tlg files
+Shows the invocation to update failing .tlg files
.IP --shuffle
-Shuffle order of tests
+Shuffles order of tests
+.IP --stdengine|-s
+Run tests only with the standard engine (which may vary between configs)
.IP --texmfhome
Location of user texmf tree
.IP --version
-Print version information and exit
+Prints version information and exits
.SH BUGS
.SH AUTHOR
The LaTeX Project (latex-team@latex-project.org)
diff --git a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
index 5074a796303..5d3a2ab1eef 100644
--- a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/l3build/l3build-arguments.lua b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua
index a1755d693dc..ec3b5335d38 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-arguments.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua
@@ -54,7 +54,7 @@ option_list =
},
dirty =
{
- desc = "Skip cleaning up the test area",
+ desc = "Skips cleaning up the test area",
type = "boolean"
},
["dry-run"] =
@@ -80,7 +80,7 @@ option_list =
},
file =
{
- desc = "Take the upload announcement from the given file",
+ desc = "Takes the upload announcement from the given file",
short = "F",
type = "string"
},
@@ -89,15 +89,9 @@ option_list =
desc = "Name of first test to run",
type = "string"
},
- force =
- {
- desc = "Force tests to run if engine is not set up",
- short = "f",
- type = "boolean"
- },
full =
{
- desc = "Install all files",
+ desc = "Installs all files",
type = "boolean"
},
["halt-on-error"] =
@@ -108,7 +102,7 @@ option_list =
},
help =
{
- desc = "Print this message and exit",
+ desc = "Prints this message and exits",
short = "h",
type = "boolean"
},
@@ -131,23 +125,29 @@ option_list =
},
rerun =
{
- desc = "Skip setup: simply rerun tests",
+ desc = "Skips setup: simply reruns tests",
type = "boolean"
},
["show-log-on-error"] =
{
- desc = "Show the full log of the failure with 'halt-on-error'",
+ desc = "Shows the full log of the failure with 'halt-on-error'",
type = "boolean"
},
["show-saves"] =
{
- desc = "Show the invocation to update failing .tlg files",
+ desc = "Shows the invocation to update failing .tlg files",
short = "S",
type = "boolean"
},
shuffle =
{
- desc = "Shuffle order of tests",
+ desc = "Shuffles order of tests",
+ type = "boolean"
+ },
+ stdengine =
+ {
+ desc = "Run tests only with the standard engine (which may vary between configs)",
+ short = "s",
type = "boolean"
},
texmfhome =
@@ -157,7 +157,7 @@ option_list =
},
version =
{
- desc = "Print version information and exit",
+ desc = "Prints version information and exits",
type = "boolean"
}
}
@@ -292,22 +292,23 @@ options = argparse()
-- Sanity check
function check_engines(config)
- if options["engine"] and not options["force"] then
+ if options["engine"] then
-- Make a lookup table
local t = { }
for _, engine in pairs(checkengines) do
t[engine] = true
end
- for _, engine in pairs(options["engine"]) do
- if not t[engine] then
- print("\n! Error: Engine \"" .. engine .. "\" not set up for testing with configuration \"" .. config .. "\"!")
- print("\n Valid values are:")
- for _, engine in ipairs(checkengines) do
- print(" - " .. engine)
- end
- print("")
- exit(1)
+ checkengines = {}
+ for _,engine in ipairs(options["engine"]) do
+ if t[engine] then
+ insert(checkengines,engine)
+ else
+ print("Skipping unknown engine " .. engine)
end
end
end
+ if not next(checkengines) then
+ print("No applicable engine requested, config ignored")
+ exit(0)
+ end
end
diff --git a/Master/texmf-dist/scripts/l3build/l3build-check.lua b/Master/texmf-dist/scripts/l3build/l3build-check.lua
index 2a50c590dbb..9bfb09971a7 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-check.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-check.lua
@@ -595,8 +595,8 @@ function runcheck(name, hide)
return 1
end
local checkengines = checkengines
- if options["engine"] then
- checkengines = options["engine"]
+ if options["stdengine"] then
+ checkengines = {stdengine}
end
local failedengines = {}
-- Used for both .lvt and .pvt tests
@@ -1065,10 +1065,6 @@ function checkdiff(config)
if next(diff_files) then
if config then
print("Failed tests for configuration \"" .. config .. "\":")
- local testdir = testdir
- if config ~= "build" then
- testdir = testdir .. "-" .. config
- end
end
print("\n Check failed with difference files")
for _,i in ipairs(diff_files) do
diff --git a/Master/texmf-dist/scripts/l3build/l3build-stdmain.lua b/Master/texmf-dist/scripts/l3build/l3build-stdmain.lua
index d264a78fa48..70d7560f20c 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-stdmain.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-stdmain.lua
@@ -73,19 +73,19 @@ target_list =
check =
{
bundle_target = true,
- desc = "Run all automated tests",
+ desc = "Runs all automated tests",
func = check,
},
clean =
{
bundle_func = bundleclean,
- desc = "Clean out directory tree",
+ desc = "Cleans out directory tree",
func = clean
},
ctan =
{
bundle_func = ctan,
- desc = "Create CTAN-ready archive",
+ desc = "Creates CTAN-ready archive",
func = ctan
},
doc =
@@ -142,7 +142,7 @@ target_list =
},
upload =
{
- desc = "Send archive to CTAN for public release",
+ desc = "Sends archive to CTAN for public release",
func = upload
},
}
diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua
index 8b0dcbda6f8..5575dc9b909 100755
--- a/Master/texmf-dist/scripts/l3build/l3build.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2024-01-09"
+release_date = "2024-01-18"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/Master/texmf-dist/source/latex/l3build/l3build.dtx b/Master/texmf-dist/source/latex/l3build/l3build.dtx
index e02dfd6f533..28b06030c90 100644
--- a/Master/texmf-dist/source/latex/l3build/l3build.dtx
+++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx
@@ -251,7 +251,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-09}
+% \date{Released 2024-01-18}
%
% \maketitle
% \tableofcontents
@@ -371,17 +371,14 @@
% \item |--config| (|-c|) Configuration(s) to use for testing
% \item |--date| Date to use when tagging data
% \item |--debug| Runs the target in debug mode (not supported by all targets)
-% \item |--dirty| Skip cleaning up of the test area
+% \item |--dirty| Skips cleaning up of the test area
% \item |--dry-run| Runs the \texttt{install} target but does not copy
% any files: simply lists those that would be installed
% \item |--email| Sets the email address for CTAN upload
% \item |--engine| (|-e|) Sets the engine to use for testing
% \item |--epoch| Sets the epoch for typesetting and testing
-% \item |--file| (|-F|) Take the upload announcement from the given file
+% \item |--file| (|-F|) Takes the upload announcement from the given file
% \item |--first| Name of the first test to run
-% \item |--force| (|-f|) Force checks to run even if sanity
-% checks fail, \emph{e.g.}~when |--engine| is not given in
-% \var{checkengines}
% \item |--full| Instructs the \texttt{install} target to include the
% \texttt{doc} and \texttt{source} trees
% \item |--halt-on-error| (|-H|) Specifies that checks
@@ -390,12 +387,14 @@
% \item |--last| Name of the last test to run
% \item |--message| (|-m|) Text for upload announcement
% \item |--quiet| (|-q|) Suppresses output from unpacking
-% \item |--rerun| Run tests without unpacking/set up
+% \item |--rerun| Runs tests without unpacking/set up
% \item |--show-log-on-error| To be used in addition to \texttt{--halt-on-error} and results
% in the full \texttt{.log} file of a failed test to be shown on the console
-% \item |--show-saves| (|-S|) When tests fail, print the \texttt{l3build save} commands needed
+% \item |--show-saves| (|-S|) When tests fail, prints the \texttt{l3build save} commands needed
% to regenerate the tests assuming that the failures were false negatives.
-% \item |--shuffle| Shuffle the order in which tests run
+% \item |--shuffle| Shuffles the order in which tests run
+% \item |--stdengine| (|-s|) Run tests only with the standard engine (which can vary between
+% configurations)
% \item |--texmfhome| Sets the location of the user tree for installing
% \end{itemize}
%
@@ -457,7 +456,7 @@
% line option |--engine| (or |-e|) has been given to limit
% testing to a single engine. Normally testing is preceded by unpacking
% source files and copying the result plus any additional support to the
-% test directory: this may be skipped using the |-s| option.
+% test directory: this may be skipped using the |--rerun| (|-r|) option.
% \end{buildcmd}
%
% \begin{buildcmd}{clean}
@@ -591,7 +590,9 @@
% \end{buildcmd}
%
% \begin{buildcmd}{tag [\meta{tag name}]}
-% Apply the Lua |update_tag()| function to modify the contents of files specified by |tagfiles| to update the `release tag' (or package version) and date.
+% Applies the Lua |update_tag()| function to modify the contents of all the files
+% specified by |tagfiles|; this function updates the `release tag' (or package version)
+% and date.
% The tag is given as the optional command line argument \meta{tag name} and the date using
% |--date| (or |-d|). If not given, the date will default to the current date in
% ISO format (YYYY-MM-DD). If no \meta{tag name} is given, the tag will default to |nil|.
@@ -981,13 +982,14 @@
% \cs{BEGINTEST}\marg{title} \dots \cs{ENDTEST} is an environment form of
% \cs{TEST}, allowing verbatim material, \emph{etc.} to appear.
% \item
-% \cs{SHOWFILE}\marg{filename} (\eTeX{} only) Shows the content of
+% \cs{SHOWFILE}\marg{filename} (\eTeX{} only) shows the content of
% \meta{filename}.
% \item
% \cs{ASSERT}\marg{arg_1}\marg{arg_2} and \cs{ASSERTSTR}\marg{arg_1}\marg{arg_2}
-% Asserts if the full expansion of \meta{arg_1} and \meta{arg_2} are the same:
-% the \cs{ASSERT} function is token-based,
-% the \cs{ASSERTSTR} works on a string basis.
+% Test if the full expansion of \meta{arg_1} and \meta{arg_2} are the same:
+% on a token basis in \cs{ASSERT} and on a string basis in \cs{ASSERTSTR}.
+% Depending on the outcome, record either \texttt{PASSED} or \texttt{FAILED}
+% in the \texttt{.log}.
% \end{itemize}
% An example of some of these commands is shown following.
% \begin{Verbatim}
@@ -1671,7 +1673,6 @@
% \var{epoch} & String \\
% \var{file} & string \\
% \var{first} & Boolean \\
-% \var{force} & Boolean \\
% \var{full} & Boolean \\
% \var{halt-on-error} & Boolean \\
% \var{help} & Boolean \\
@@ -1680,6 +1681,7 @@
% \var{quiet} & Boolean \\
% \var{rerun} & Boolean \\
% \var{shuffle} & Boolean \\
+% \var{stdengine} & Boolean \\
% \var{texmfhome} & String \\
% \bottomrule
% \end{tabular}