[latex3-commits] [git/LaTeX3-latex3-latex2e] versioning: test file for rollback (ab2662a)

Frank Mittelbach frank.mittelbach at latex-project.org
Mon Feb 19 18:30:23 CET 2018


Repository : https://github.com/latex3/latex2e
On branch  : versioning
Link       : https://github.com/latex3/latex2e/commit/ab2662af4791eeed39e417f954ab47e30daf7ccf

>---------------------------------------------------------------

commit ab2662af4791eeed39e417f954ab47e30daf7ccf
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Mon Feb 19 18:30:23 2018 +0100

    test file for rollback


>---------------------------------------------------------------

ab2662af4791eeed39e417f954ab47e30daf7ccf
 base/testfiles/tlb-rollback-001.luatex.tlg |  621 ++++++++++++++++++++++++++++
 base/testfiles/tlb-rollback-001.lvt        |  179 ++++++++
 base/testfiles/tlb-rollback-001.tlg        |  621 ++++++++++++++++++++++++++++
 3 files changed, 1421 insertions(+)

diff --git a/base/testfiles/tlb-rollback-001.luatex.tlg b/base/testfiles/tlb-rollback-001.luatex.tlg
new file mode 100644
index 0000000..293462d
--- /dev/null
+++ b/base/testfiles/tlb-rollback-001.luatex.tlg
@@ -0,0 +1,621 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+--- File loaded request (\usepackage or ...)
+    1: article
+    2: 
+    3: 
+    4: cls
+(article.cls
+(size10.clo
+)
+\c at part=\count...
+\c at section=\count...
+\c at subsection=\count...
+\c at subsubsection=\count...
+\c at paragraph=\count...
+\c at subparagraph=\count...
+\c at figure=\count...
+\c at table=\count...
+\abovecaptionskip=\skip...
+\belowcaptionskip=\skip...
+\bibindent=\dimen...
+)
+--- File loaded request (\usepackage or ...)
+    1: alltt
+    2: 
+    3: 
+    4: sty
+(alltt.sty
+)
+--- File loaded request (\usepackage or ...)
+    1: ifthen
+    2: 
+    4: sty
+(ifthen.sty
+)
+--- File loaded request (\usepackage or ...)
+    1: makeidx
+    2: 
+    4: sty
+(makeidx.sty
+)
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 2016-01-01
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               `2016-07-21 v3.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ......ldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2014-03-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2014-03-01.
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-01.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-02
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-02.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2016-07-10
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v2
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> version 'v2'.
+         This corresponds to the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: 
+    3: =v3
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use current version
+Rollback for package 'testpkg' requested -> version 'v3'.
+         This corresponds to the release introduced on 2016-07-01.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v4
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+! LaTeX Error: Requested version 'v4' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\DeclareCurrentRelease[v3]{2016-07-01}
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 2016-01-01
+    4: sty
+! LaTeX Error: Suspicious rollback/min-date date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\usepackage[dvips]{testpkg}[2016-01-01]
+There is a minimal date of 2016-01-01 specified for package 'testpkg'.
+But this is in conflict with a rollback request to 2015-12-24, so something
+is wrong here. Continue and I ignore the minimal date request.
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+LaTeX Warning: You have requested, on input line ..., version
+               `2016-01-01' of package testpkg,
+               but only version
+               `2015-10-01 v2.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+! LaTeX Error: Suspicious rollback/min-date date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+But this is in conflict with a rollback request to 2015-12-24, so something
+is wrong here. Continue and I ignore the minimal date request.
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               `2015-10-01 v2.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ......ldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2014-03-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2014-03-01.
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-01.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-02
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-02.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2016-07-10
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v2
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> version 'v2'.
+         This corresponds to the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: 
+    3: =v3
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use current version
+Rollback for package 'testpkg' requested -> version 'v3'.
+         This corresponds to the release introduced on 2016-07-01.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v4
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+! LaTeX Error: Requested version 'v4' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\DeclareCurrentRelease[v3]{2016-07-01}
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
diff --git a/base/testfiles/tlb-rollback-001.lvt b/base/testfiles/tlb-rollback-001.lvt
new file mode 100644
index 0000000..ee29898
--- /dev/null
+++ b/base/testfiles/tlb-rollback-001.lvt
@@ -0,0 +1,179 @@
+%
+% Check that the rollback mechanism works
+%
+% A few test packages up front:
+%
+\begin{filecontents}{testpkg.sty}
+% The current package ...
+\providecommand\DeclareOldRelease[3][]{}
+\providecommand\DeclareCurrentRelease[2][]{}
+\DeclareOldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+\DeclareOldRelease[v2]{2015-10-01}{testpkg-2015-10-01}
+\DeclareCurrentRelease[v3]{2016-07-01}
+
+\ProvidesPackage{testpkg}[2016-07-21 v3.5 test package] % this has a
+                                                        % minor change
+                                                        % so a
+                                                        % different date
+\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
+\ProcessOptions
+\typeout{This is the current testpkg! }
+% allow repeated loading (for testing)
+\end{filecontents}
+
+\begin{filecontents}{testpkg-2014-01-01.sty}
+% the oldest known release (v1) ...
+\providecommand\DeclareOldRelease[3][]{}
+\providecommand\DeclareCurrentRelease[2][]{}
+\DeclareCurrentRelease[v1]{2014-01-01}
+\ProvidesPackage{testpkg}[2014-01-01 v1.2 test package]
+\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
+\ProcessOptions
+\typeout{This is testpkg 2014-01-01!}
+% allow repeated loading (for testing)
+\end{filecontents}
+
+\begin{filecontents}{testpkg-2015-10-01.sty}
+% this is v2 ...
+\providecommand\DeclareOldRelease[3][]{}
+\providecommand\DeclareCurrentRelease[2][]{}
+\DeclareOldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+\DeclareCurrentRelease[v2]{2015-10-01}
+\ProvidesPackage{testpkg}[2015-10-01 v2.5 test package]
+\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
+\ProcessOptions
+\typeout{This is testpkg 2015-10-01!}
+% allow repeated loading (for testing)
+\end{filecontents}
+
+% ======================================================
+
+
+% Input the test macros for LaTeX2e
+\input{test2e}
+
+\makeatletter
+\let\pkgcls at debug\typeout   % more output in the tests
+\makeatother
+
+\START
+
+\documentclass{article}
+
+\usepackage{alltt}               % a simple package load
+\usepackage{ifthen}[2000/01/01]  % one with mindate
+\usepackage{makeidx}[2050/01/01] % one with strange mindate
+
+\def\ForgetAboutTestpkg{%
+  \expandafter\let\csname ver at testpkg.sty\endcsname\relax
+}
+
+%%% TESTS %%%%
+
+% no local rollback
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}
+
+% mindate request
+\ForgetAboutTestpkg
+\RequirePackage[dvips]{testpkg}[2015/05/05]
+
+% conflict with latexrelease later  on
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[2016-01-01]
+
+% ... in future
+\ForgetAboutTestpkg
+\RequirePackage[dvips]{testpkg}[2020/05/05]
+
+% earlier than the fist release!
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2011/03/01]
+
+% earlier than the second release
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2014-03-01]
+
+% exact
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2015-10-01]
+
+% a few days off
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2015-10-02]
+
+% kind of current
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2016-07-10]
+
+
+% named request old
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=v2]
+
+% name request current
+\ForgetAboutTestpkg
+\usepackage[]{testpkg}[=v3]
+
+% ... does not exit
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=v4]
+
+
+% now again with latexrelease set
+
+\OMIT
+\RequirePackage[2015-12-24]{latexrelease}
+\TIMO
+
+% no local rollback
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}
+
+% mindate request
+\ForgetAboutTestpkg
+\RequirePackage[dvips]{testpkg}[2015/05/05]
+
+% conflict with latexrelease later  on
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[2016-01-01]
+
+% ... in future
+\ForgetAboutTestpkg
+\RequirePackage[dvips]{testpkg}[2020/05/05]
+
+% earlier than the fist release!
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2011/03/01]
+
+% earlier than the second release
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2014-03-01]
+
+% exact
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2015-10-01]
+
+% a few days off
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2015-10-02]
+
+% kind of current
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2016-07-10]
+
+
+% named request old
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=v2]
+
+% name request current
+\ForgetAboutTestpkg
+\usepackage[]{testpkg}[=v3]
+
+% ... does not exit
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=v4]
+
+\END
+
diff --git a/base/testfiles/tlb-rollback-001.tlg b/base/testfiles/tlb-rollback-001.tlg
new file mode 100644
index 0000000..e875b74
--- /dev/null
+++ b/base/testfiles/tlb-rollback-001.tlg
@@ -0,0 +1,621 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+--- File loaded request (\usepackage or ...)
+    1: article
+    2: 
+    3: 
+    4: cls
+(article.cls
+(size10.clo
+)
+\c at part=\count...
+\c at section=\count...
+\c at subsection=\count...
+\c at subsubsection=\count...
+\c at paragraph=\count...
+\c at subparagraph=\count...
+\c at figure=\count...
+\c at table=\count...
+\abovecaptionskip=\skip...
+\belowcaptionskip=\skip...
+\bibindent=\dimen...
+)
+--- File loaded request (\usepackage or ...)
+    1: alltt
+    2: 
+    3: 
+    4: sty
+(alltt.sty
+)
+--- File loaded request (\usepackage or ...)
+    1: ifthen
+    2: 
+    4: sty
+(ifthen.sty
+)
+--- File loaded request (\usepackage or ...)
+    1: makeidx
+    2: 
+    4: sty
+(makeidx.sty
+)
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 2016-01-01
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               `2016-07-21 v3.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ......Release[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2014-03-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2014-03-01.
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-01.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-02
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-02.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2016-07-10
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v2
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> version 'v2'.
+         This corresponds to the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: 
+    3: =v3
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use current version
+Rollback for package 'testpkg' requested -> version 'v3'.
+         This corresponds to the release introduced on 2016-07-01.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v4
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+! LaTeX Error: Requested version 'v4' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\DeclareCurrentRelease[v3]{2016-07-01}
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: 2016-01-01
+    4: sty
+! LaTeX Error: Suspicious rollback/min-date date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\usepackage[dvips]{testpkg}[2016-01-01]
+There is a minimal date of 2016-01-01 specified for package 'testpkg'.
+But this is in conflict with a rollback request to 2015-12-24, so something
+is wrong here. Continue and I ignore the minimal date request.
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+LaTeX Warning: You have requested, on input line ..., version
+               `2016-01-01' of package testpkg,
+               but only version
+               `2015-10-01 v2.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+! LaTeX Error: Suspicious rollback/min-date date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+But this is in conflict with a rollback request to 2015-12-24, so something
+is wrong here. Continue and I ignore the minimal date request.
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-12-24.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+LaTeX Warning: You have requested, on input line ..., version
+               but only version
+               `2015-10-01 v2.5 test package'
+               is available.
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ......Release[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2014-03-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2014-03-01.
+         Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-01
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-01.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2015-10-02
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> date 2015-10-02.
+         Best approximation is the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =2016-07-10
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+New candidate: testpkg-2014-01-01
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+New candidate: testpkg-2015-10-01
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v2
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Result: use testpkg-2015-10-01
+Rollback for package 'testpkg' requested -> version 'v2'.
+         This corresponds to the release introduced on 2015-10-01.
+(testpkg-2015-10-01.sty
+Package: testpkg 2015-10-01 v2.5 test package
+ -> option dvips executed
+This is testpkg 2015-10-01!
+))
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: 
+    3: =v3
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+Result: use current version
+Rollback for package 'testpkg' requested -> version 'v3'.
+         This corresponds to the release introduced on 2016-07-01.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)
+--- File loaded request (\usepackage or ...)
+    1: testpkg
+    2: dvips
+    3: =v4
+    4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+    1: v1
+    2: 2014-01-01
+    3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+    1: v2
+    2: 2015-10-01
+    3: testpkg-2015-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2016-07-01
+! LaTeX Error: Requested version 'v4' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+l. ...\DeclareCurrentRelease[v3]{2016-07-01}
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+Package: testpkg 2016-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg! 
+)





More information about the latex3-commits mailing list