Re: What's cooking in git.git (Aug 2009, #03; Thu, 20)
From: Mark A Rada <hidden>
Date: 2016-06-15 22:47:17
Subsystem:
the rest · Maintainer:
Linus Torvalds
On 20-Aug-09, at 10:48 PM, Junio C Hamano wrote:
Should graduate to 'master' soon. * mr/gitweb-xz (2009-08-06) 3 commits (merged to 'next' on 2009-08-14 at b63b8e6) + gitweb: add support for XZ compressed snapshots + gitweb: update INSTALL regarding specific snapshot settings + gitweb: support to globally disable a snapshot format
I never submitted any tests for the patch that adds global snapshot
disabling
functionality to gitweb.
Jakub, I changed the gitweb_run routine to capture STDOUT as well, is
that ok?
Unless I missed a case, the tests show that the extra condition check
that was
added in the &git_snapshot routine is never actually executed, because a
disabled snapshot format is not added to @snapshot_fmts, which is
checked
first.
snippet:
5178 } elsif (!grep($_ eq $format, @snapshot_fmts)) {
5179 die_error(403, "Unsupported snapshot format");
5180 } elsif ($known_snapshot_formats{$format}{'disabled'}) {
5181 die_error(403, "Snapshot format not allowed");
5182 }
5183
--
Mark A Rada (ferrous26)
marada@uwaterloo.ca
---
t/t9500-gitweb-standalone-no-errors.sh | 67 +++++++++++++++++++++++
++++++++-
1 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb- standalone-no-errors.sh index 6275181..9ce9667 100755
--- a/t/t9500-gitweb-standalone-no-errors.sh
+++ b/t/t9500-gitweb-standalone-no-errors.sh@@ -57,10 +57,11 @@ gitweb_run () { # we are interested only in properly formatted errors/warnings rm -f gitweb.log && perl -- "$SCRIPT_NAME" \ - >/dev/null 2>gitweb.log && + >gitweb.output 2>gitweb.log && if grep "^[[]" gitweb.log >/dev/null 2>&1; then false; else true; fi # gitweb.log is left for debugging + # gitweb.output is used to parse output } . ./test-lib.sh
@@ -704,4 +705,68 @@ test_expect_success \ gitweb_run "p=.git;a=summary"' test_debug 'cat gitweb.log' + +# ---------------------------------------------------------------------- +# snapshot settings + +cat >>gitweb_config.perl <<EOF + +\$feature{'snapshot'}{'override'} = 0; +EOF + +test_expect_success \ + 'snapshots: tgz only default format enabled' \ + 'gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" && + grep "Status: 200 OK" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tbz2" && + grep "403 - Unsupported snapshot format" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=txz" && + grep "403 - Unsupported snapshot format" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" && + grep "403 - Unsupported snapshot format" gitweb.output' +test_debug 'cat gitweb.output' + + +cat >>gitweb_config.perl <<EOF + +\$feature{'snapshot'}{'default'} = ['tgz','tbz2','txz','zip']; +EOF + +test_expect_success \ + 'snapshots: all enabled in default, use default disabled value' \ + 'gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" && + grep "Status: 200 OK" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tbz2" && + grep "Status: 200 OK" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=txz" && + grep "403 - Unsupported snapshot format" gitweb.output && + gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" && + grep "Status: 200 OK" gitweb.output' +test_debug 'cat gitweb.output' + + +cat >>gitweb_config.perl <<EOF + +\$known_snapshot_formats{'zip'}{'disabled'} = 1; +EOF + +test_expect_success \ + 'snapshots: zip explicitly disabled' \ + 'gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" && + grep "403 - Unsupported snapshot format" gitweb.output' +test_debug 'cat gitweb.output' + + +cat >>gitweb_config.perl <<EOF + +\$known_snapshot_formats{'tgz'}{'disabled'} = 0; +EOF + +test_expect_success \ + 'snapshots: tgz explicitly enabled' \ + 'gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" && + grep "Status: 200 OK" gitweb.output' +test_debug 'cat gitweb.output' + + test_done
--
1.6.4