Skip to content

Commit bf27cc0

Browse files
authored
Merge pull request #6710 from kit-ty-kate/reftest-harden-md5-sed
reftests: Harden the regexp used for substituting variable checksums
2 parents 5b5c906 + e0f61a4 commit bf27cc0

File tree

5 files changed

+21
-20
lines changed

5 files changed

+21
-20
lines changed

master_changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ users)
148148
* Fix support for removing local link directories [#6450 @kit-ty-kate]
149149
* Bump `OPAM_REPO_SHA` in the github action workflows to allow patch 3.0.0 [#6663 @kit-ty-kate]
150150
* Allow `sed-cmd` to parse even if no space is after the command [#6675 @rjbou]
151+
* Harden the regexp used for substituting variable checksums [#6710 @kit-ty-kate]
151152

152153
## Github Actions
153154
* bump `actions/checkout` from 4 to 5 [#6643 @kit-ty-kate]

tests/reftests/action-disk.test

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (write => none)
132132
SYSTEM LOCK ${BASEDIR}/OPAM/install-from-repo/.opam-switch/lock (write => none)
133133
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
134134
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
135-
### opam install main-repo.1 | grep -v '^- ./$' | sed-cmd rsync tar cp touch mkdir | "${PRE_MD5}..?${MD5}" -> pre/hash | "md5..?${PRE_MD5}" -> md5/pre
135+
### opam install main-repo.1 | grep -v '^- ./$' | sed-cmd rsync tar cp touch mkdir | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | "md5[^[:alnum:]].?${PRE_MD5}" -> md5/pre
136136
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
137137
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
138138
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -205,7 +205,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-repo/.opam-swi
205205
SYSTEM rm ${BASEDIR}/OPAM/install-from-repo/.opam-switch/backup/state-today.export
206206
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
207207
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
208-
### opam reinstall main-repo.1 | sed-cmd tar cp touch mkdir | "${PRE_MD5}..?${MD5}" -> pre/hash | unordered
208+
### opam reinstall main-repo.1 | sed-cmd tar cp touch mkdir | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | unordered
209209
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
210210
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
211211
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -290,7 +290,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-repo/.opam-swi
290290
SYSTEM rm ${BASEDIR}/OPAM/install-from-repo/.opam-switch/backup/state-today.export
291291
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
292292
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
293-
### opam upgrade main-repo | sed-cmd tar touch mkdir cp | "${PRE_MD5}..?${MD5}" -> pre/hash | unordered
293+
### opam upgrade main-repo | sed-cmd tar touch mkdir cp | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | unordered
294294
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
295295
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
296296
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -387,7 +387,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-repo/.opam-swi
387387
SYSTEM rm ${BASEDIR}/OPAM/install-from-repo/.opam-switch/backup/state-today.export
388388
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
389389
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
390-
### opam remove main-repo | sed-cmd tar touch | "${PRE_MD5}..?${MD5}" -> pre/hash | unordered
390+
### opam remove main-repo | sed-cmd tar touch | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | unordered
391391
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
392392
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
393393
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -1855,7 +1855,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-version-pin/.o
18551855
SYSTEM rm ${BASEDIR}/OPAM/install-from-version-pin/.opam-switch/backup/state-today.export
18561856
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
18571857
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
1858-
### opam install main-repo | grep -v '^- ./$' | sed-cmd tar rsync cp touch mkdir | "${PRE_MD5}..?${MD5}" -> pre/hash
1858+
### opam install main-repo | grep -v '^- ./$' | sed-cmd tar rsync cp touch mkdir | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash
18591859
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
18601860
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
18611861
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -1917,7 +1917,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-version-pin/.o
19171917
SYSTEM rm ${BASEDIR}/OPAM/install-from-version-pin/.opam-switch/backup/state-today.export
19181918
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
19191919
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
1920-
### opam reinstall main-repo | grep -v '^- ./$' | sed-cmd tar rsync cp touch mkdir | "${PRE_MD5}..?${MD5}" -> pre/hash | unordered
1920+
### opam reinstall main-repo | grep -v '^- ./$' | sed-cmd tar rsync cp touch mkdir | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | unordered
19211921
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
19221922
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
19231923
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -2002,7 +2002,7 @@ SYSTEM LOCK ${BASEDIR}/OPAM/install-from-version-pin/.o
20022002
SYSTEM rm ${BASEDIR}/OPAM/install-from-version-pin/.opam-switch/backup/state-today.export
20032003
SYSTEM LOCK ${BASEDIR}/OPAM/repo/lock (none => none)
20042004
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => none)
2005-
### opam remove main-repo | grep -v '^- ./$' | sed-cmd tar rsync touch | "${PRE_MD5}..?${MD5}" -> pre/hash | unordered
2005+
### opam remove main-repo | grep -v '^- ./$' | sed-cmd tar rsync touch | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | unordered
20062006
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
20072007
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
20082008
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
@@ -2104,7 +2104,7 @@ Usage: opam switch [OPTION]… [COMMAND] [ARG]…
21042104
Try 'opam switch --help' or 'opam --help' for more information.
21052105
# Return code 2 #
21062106
### :III:2: with package
2107-
### opam switch create package-switch --package main-repo | grep -v '^- ./$' | sed-cmd rsync tar cp touch mkdir | "${PRE_MD5}..?${MD5}" -> pre/hash | "md5..?${PRE_MD5}" -> md5/pre
2107+
### opam switch create package-switch --package main-repo | grep -v '^- ./$' | sed-cmd rsync tar cp touch mkdir | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash | "md5[^[:alnum:]].?${PRE_MD5}" -> md5/pre
21082108
FILE(config) Read ${BASEDIR}/OPAM/config in 0.000s
21092109
SYSTEM LOCK ${BASEDIR}/OPAM/lock (none => read)
21102110
SYSTEM LOCK ${BASEDIR}/OPAM/config.lock (none => write)

tests/reftests/hooks-variables.test

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ Processing 3/3: [i-am-a-repo-pkg: bash ...post-installing...]
287287
- installed-files:etc etc/i-am-a-repo-pkg etc/i-am-a-repo-pkg/printer
288288
-> installed i-am-a-repo-pkg.1
289289
Done.
290-
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
290+
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
291291
The following actions will be performed:
292292
=== remove 1 package
293293
- remove i-am-a-repo-pkg 1
@@ -411,7 +411,7 @@ The following actions will be performed:
411411
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
412412
-> installed dep.1
413413
Done.
414-
### opam install i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar | etc -> etc
414+
### opam install i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar | etc -> etc
415415
The following actions will be performed:
416416
=== install 1 package
417417
- install i-am-a-repo-pkg 1
@@ -588,7 +588,7 @@ Processing 3/3: [i-am-a-repo-pkg: bash ...post-installing...]
588588
- installed-files:etc etc/i-am-a-repo-pkg etc/i-am-a-repo-pkg/printer
589589
-> installed i-am-a-repo-pkg.1
590590
Done.
591-
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
591+
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
592592
The following actions will be performed:
593593
=== remove 1 package
594594
- remove i-am-a-repo-pkg 1
@@ -744,7 +744,7 @@ The following actions will be performed:
744744
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
745745
-> installed dep.1
746746
Done.
747-
### opam install i-am-a-repo-pkg | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar | etc -> etc
747+
### opam install i-am-a-repo-pkg | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar | etc -> etc
748748
The following actions will be performed:
749749
=== install 1 package
750750
- install i-am-a-repo-pkg 1
@@ -783,7 +783,7 @@ Done.
783783
success:true
784784
failure:false
785785
installed-files:
786-
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
786+
### opam remove i-am-a-repo-pkg -vv | "${OPAMVERSION}" -> "++current++" | '[0-9a-z]{64}' -> '+hash+' | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | $MD5 -> +archive-hash+ | sed-cmd bash tar
787787
The following actions will be performed:
788788
=== remove 1 package
789789
- remove i-am-a-repo-pkg 1

tests/reftests/hooks-variables.win32.test

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Processing 3/3: [i-am-a-repo-pkg: bash ...post-installing...]
9999
- exe:.exe
100100
-> installed i-am-a-repo-pkg.1
101101
Done.
102-
### opam remove i-am-a-repo-pkg | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
102+
### opam remove i-am-a-repo-pkg | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
103103
The following actions will be performed:
104104
=== remove 1 package
105105
- remove i-am-a-repo-pkg 1
@@ -146,7 +146,7 @@ Set to '[ "bash" "%{hooks}%/printer.sh" "...post-building..." "exe:%{exe}%" ]' t
146146
Set to '[ "bash" "%{hooks}%/printer.sh" "...post-installing..." "exe:%{exe}%" ]' the field post-install-commands in switch switch-wrappers
147147
### opam option --switch switch-wrappers 'post-remove-commands=[ "bash" "%{hooks}%/printer.sh" "...post-removing..." "exe:%{exe}%" ]'
148148
Set to '[ "bash" "%{hooks}%/printer.sh" "...post-removing..." "exe:%{exe}%" ]' the field post-remove-commands in switch switch-wrappers
149-
### opam install i-am-a-repo-pkg | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
149+
### opam install i-am-a-repo-pkg | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
150150
The following actions will be performed:
151151
=== install 1 package
152152
- install i-am-a-repo-pkg 1
@@ -184,7 +184,7 @@ Processing 3/3: [i-am-a-repo-pkg: bash ...post-installing...]
184184
- exe:.exe
185185
-> installed i-am-a-repo-pkg.1
186186
Done.
187-
### opam remove i-am-a-repo-pkg | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
187+
### opam remove i-am-a-repo-pkg | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
188188
The following actions will be performed:
189189
=== remove 1 package
190190
- remove i-am-a-repo-pkg 1
@@ -237,7 +237,7 @@ EOF
237237
Processing: [default: loading data]
238238
Now run 'opam upgrade' to apply any package updates.
239239
### opam switch create pkg-from-repo --empty
240-
### opam install i-am-a-repo-pkg | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
240+
### opam install i-am-a-repo-pkg | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
241241
The following actions will be performed:
242242
=== install 1 package
243243
- install i-am-a-repo-pkg 1
@@ -261,7 +261,7 @@ Done.
261261
<><> i-am-a-repo-pkg.1 installed successfully <><><><><><><><><><><><><><><><><>
262262
=> ...A last message...
263263
exe:.exe
264-
### opam remove i-am-a-repo-pkg | '${PRE_MD5}..?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
264+
### opam remove i-am-a-repo-pkg | '${PRE_MD5}[^[:alnum:]].?${MD5}' -> pre/+archive-hash+ | sed-cmd bash tar
265265
The following actions will be performed:
266266
=== remove 1 package
267267
- remove i-am-a-repo-pkg 1

tests/reftests/opam-repo-ci.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ main is now pinned to version 1
5252
### # emulate '(cache (opam-archives (target /home/opam/.opam/download-cache)))'
5353
### mkdir -p OPAM/download-cache/md5/$PRE_MD5
5454
### cp archive.tgz OPAM/download-cache/md5/$PRE_MD5/$MD5
55-
### opam reinstall main.1 | sed-cmd tar | "${PRE_MD5}..?${MD5}" -> pre/hash
55+
### opam reinstall main.1 | sed-cmd tar | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash
5656
main.1 is not installed. Install it? [Y/n] y
5757
The following actions will be performed:
5858
=== install 2 packages
@@ -85,7 +85,7 @@ The following actions will be performed:
8585
Done.
8686
### # Third reinstall
8787
### # no change in source on cache archive
88-
### opam reinstall main.1 --with-test -vv | sed-cmd rsync tar | "${PRE_MD5}..?${MD5}" -> pre/hash
88+
### opam reinstall main.1 --with-test -vv | sed-cmd rsync tar | "${PRE_MD5}[^[:alnum:]].?${MD5}" -> pre/hash
8989
The following actions will be performed:
9090
=== recompile 1 package
9191
- recompile main 1 (pinned)

0 commit comments

Comments
 (0)