All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.