diff options
author | Karl Berry <karl@freefriends.org> | 2024-01-19 22:45:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-01-19 22:45:06 +0000 |
commit | 658373a9bbeff724374065a08da0268c19805a95 (patch) | |
tree | 9fcb04dff2dfab6d679029fe24ca5dd4d79238e9 /Master | |
parent | f1cee4627684d3feed6f0552d428cf9f1cd3584d (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.md | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/README.md | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/l3build.pdf | bin | 749004 -> 749769 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.1 | 32 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.man1.pdf | bin | 15775 -> 15787 bytes | |||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-arguments.lua | 51 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-check.lua | 8 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-stdmain.lua | 8 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/l3build/l3build.lua | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/l3build/l3build.dtx | 34 |
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 Binary files differindex 8883e78d95f..54b3c2c198b 100644 --- a/Master/texmf-dist/doc/latex/l3build/l3build.pdf +++ b/Master/texmf-dist/doc/latex/l3build/l3build.pdf 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 Binary files differindex 5074a796303..5d3a2ab1eef 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf 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} |