fix: do not download saxon in parallel
galargh committed
Jan 15, 2023 at 11:59 UTC
d90a9b5b3363a239804ed88a555b7c89e060b6ec
3 files changed
+46
-40
test/sharness/Rules.mk
+7
-2
@@ -47,12 +47,17 @@ $(d)/test-results/sharness.xml: $(T_$(d))
47
@(cd $(@D)/.. && ./lib/test-aggregate-junit-reports.sh)
48
.PHONY: $(d)/test-results/sharness.xml
49
50
-$(d)/test-results/sharness-html: $(d)/test-results/sharness.xml
50
+$(d)/download-saxon:
51
+ @echo "*** $@ ***"
52
+ @(cd $(@D) && ./lib/download-saxon.sh)
53
+.PHONY: $(d)/download-saxon
54
+
55
+$(d)/test-results/sharness-html: $(d)/test-results/sharness.xml $(d)/download-saxon
56
@echo "*** $@ ***"
57
@(cd $(@D)/.. && ./lib/test-generate-junit-html.sh frames)
58
.PHONY: $(d)/test-results/sharness-html
59
55
-$(d)/test-results/sharness.html: $(d)/test-results/sharness.xml
60
+$(d)/test-results/sharness.html: $(d)/test-results/sharness.xml $(d)/download-saxon
61
@echo "*** $@ ***"
62
@(cd $(@D)/.. && ./lib/test-generate-junit-html.sh no-frames)
63
.PHONY: $(d)/test-results/sharness.html
test/sharness/lib/download-saxon.sh
new
+39
@@ -0,0 +1,39 @@
1
+#!/bin/bash
2
+
3
+dependencies=(
4
+ "url=https://sourceforge.net/projects/saxon/files/Saxon-HE/11/Java/SaxonHE11-4J.zip;md5=8a4783d307c32c898f8995b8f337fd6b"
5
+ "url=https://raw.githubusercontent.com/pl-strflt/ant/c781f7d79b92cc55530245d9554682a47f46851e/src/etc/junit-frames-saxon.xsl;md5=6eb013566903a91e4959413f6ff144d0"
6
+ "url=https://raw.githubusercontent.com/pl-strflt/ant/c781f7d79b92cc55530245d9554682a47f46851e/src/etc/junit-noframes-saxon.xsl;md5=8d54882d5f9d32a7743ec675cc2e30ac"
7
+)
8
+
9
+dependenciesdir="lib/dependencies"
10
+mkdir -p "$dependenciesdir"
11
+
12
+get_md5() {
13
+ md5sum "$1" | cut -d ' ' -f 1
14
+}
15
+
16
+for dependency in "${dependencies[@]}"; do
17
+ url="$(echo "$dependency" | cut -d ';' -f 1 | cut -d '=' -f 2)"
18
+ md5="$(echo "$dependency" | cut -d ';' -f 2 | cut -d '=' -f 2)"
19
+ filename="$(basename "$url")"
20
+ if test -f "$dependenciesdir/$filename" && test "$(get_md5 "$dependenciesdir/$filename")" = "$md5"; then
21
+ echo "Using cached $filename"
22
+ else
23
+ echo "Downloading $filename"
24
+ curl -L --max-redirs 5 --retry 5 --no-progress-meter --output "$dependenciesdir/$filename" "$url"
25
+ actual_md5="$(get_md5 "$dependenciesdir/$filename")"
26
+ if test "$actual_md5" != "$md5"; then
27
+ echo "Downloaded $filename has wrong md5sum ('$actual_md5' != '$md5')"
28
+ exit 1
29
+ fi
30
+ dirname=${filename%.*}
31
+ extension=${filename#$dirname.}
32
+ if test "$extension" = "zip"; then
33
+ echo "Removing old $dependenciesdir/$dirname"
34
+ rm -rf "$dependenciesdir/$dirname"
35
+ echo "Unzipping $dependenciesdir/$filename"
36
+ unzip "$dependenciesdir/$filename" -d "$dependenciesdir/$dirname"
37
+ fi
38
+ fi
39
+done
test/sharness/lib/test-generate-junit-html.sh
-38
@@ -1,43 +1,5 @@
1
#!/bin/bash
2
3
-dependencies=(
4
- "url=https://sourceforge.net/projects/saxon/files/Saxon-HE/11/Java/SaxonHE11-4J.zip;md5=8a4783d307c32c898f8995b8f337fd6b"
5
- "url=https://raw.githubusercontent.com/pl-strflt/ant/c781f7d79b92cc55530245d9554682a47f46851e/src/etc/junit-frames-saxon.xsl;md5=6eb013566903a91e4959413f6ff144d0"
6
- "url=https://raw.githubusercontent.com/pl-strflt/ant/c781f7d79b92cc55530245d9554682a47f46851e/src/etc/junit-noframes-saxon.xsl;md5=8d54882d5f9d32a7743ec675cc2e30ac"
7
-)
8
-
9
-dependenciesdir="lib/dependencies"
10
-mkdir -p "$dependenciesdir"
11
-
12
-get_md5() {
13
- md5sum "$1" | cut -d ' ' -f 1
14
-}
15
-
16
-for dependency in "${dependencies[@]}"; do
17
- url="$(echo "$dependency" | cut -d ';' -f 1 | cut -d '=' -f 2)"
18
- md5="$(echo "$dependency" | cut -d ';' -f 2 | cut -d '=' -f 2)"
19
- filename="$(basename "$url")"
20
- if test -f "$dependenciesdir/$filename" && test "$(get_md5 "$dependenciesdir/$filename")" = "$md5"; then
21
- echo "Using cached $filename"
22
- else
23
- echo "Downloading $filename"
24
- curl -L --max-redirs 5 --retry 5 --no-progress-meter --output "$dependenciesdir/$filename" "$url"
25
- actual_md5="$(get_md5 "$dependenciesdir/$filename")"
26
- if test "$actual_md5" != "$md5"; then
27
- echo "Downloaded $filename has wrong md5sum ('$actual_md5' != '$md5')"
28
- exit 1
29
- fi
30
- dirname=${filename%.*}
31
- extension=${filename#$dirname.}
32
- if test "$extension" = "zip"; then
33
- echo "Removing old $dependenciesdir/$dirname"
34
- rm -rf "$dependenciesdir/$dirname"
35
- echo "Unzipping $dependenciesdir/$filename"
36
- unzip "$dependenciesdir/$filename" -d "$dependenciesdir/$dirname"
37
- fi
38
- fi
39
-done
40
-
3
case "$1" in
4
"frames")
5
java -jar lib/dependencies/SaxonHE11-4J/saxon-he-11.4.jar \