From: Jakub Narebski <jnareb@gmail.com>
To: Mark A Rada <marada@uwaterloo.ca>
Cc: git@vger.kernel.org, Junio Hamano <gitster@pobox.com>
Subject: Re: What's cooking in git.git (Aug 2009, #03; Thu, 20)
Date: Fri, 21 Aug 2009 20:06:12 +0200 [thread overview]
Message-ID: <200908212006.16333.jnareb@gmail.com> (raw)
In-Reply-To: <F4C7A2F3-B030-449A-87AC-B54CA2B647B4@mailservices.uwaterloo.ca>
On Fri, 21 Aug 2009, Mark A Rada wrote:
> 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?
I think it is a good addition to the gitweb tests in git testsuite,
as it might make finding cause of an error easier.
> 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
So we did check if format is disable twice, once when creating
(generating @snapshot_fmts list, and once (I guess unnecessary;
@snapshot_fmts is generated after reading GITWEB_CONFIG file(s))
when checking if snapshot $format is on the list of possible
(allowed) formats in the snipped above.
Am I right? If it is so, the last part of above snipped wouldn't
be ever exercised, and is not necessary.
> ---
> t/t9500-gitweb-standalone-no-errors.sh | 67 +++++++++++++++++++++++
> ++++++++-
Word-wrapped.
> 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
> }
This is a good change.
>
> . ./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
A trick: use '\EOF' and you don't need to escape $ against variable
expansion by shell.
+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'
I would prefer (but I do not require) that such test were placed in
separate file, named e.g. t9501-gitweb-check-http-status.sh, and leave
t9500-gitweb-standalone-no-errors.sh to be about checking for Perl
errors and warnings only. This would require to extract common
infrastructure (gitweb_init, gitweb_run, checking prerequisites)
into t/lib-gitweb.sh (or t/gitweb-lib.sh ;-)).
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2009-08-21 18:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-21 2:48 What's cooking in git.git (Aug 2009, #03; Thu, 20) Junio C Hamano
2009-08-21 9:10 ` Paolo Bonzini
2009-08-21 19:36 ` Junio C Hamano
2009-08-21 12:40 ` Mark A Rada
2009-08-21 18:06 ` Jakub Narebski [this message]
2009-08-21 20:10 ` Junio C Hamano
2009-08-22 22:42 ` [RFC] gitweb.perl t9500 t9501 Mark A Rada
2009-08-23 2:09 ` Junio C Hamano
2009-08-23 15:29 ` Mark A Rada
2009-08-21 21:43 ` What's cooking in git.git (Aug 2009, #03; Thu, 20) Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200908212006.16333.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=marada@uwaterloo.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.