git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Hui Yiqun <huiyiqun@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com, pickfire@riseup.net
Subject: Re: [PATCH/RFC/GSoC 3/3] t0301: test credential-cache support of XDG_RUNTIME_DIR
Date: Wed, 16 Mar 2016 13:15:36 -0400	[thread overview]
Message-ID: <20160316171535.GC4039@sigill.intra.peff.net> (raw)
In-Reply-To: <1458122865-29447-3-git-send-email-huiyiqun@gmail.com>

On Wed, Mar 16, 2016 at 06:07:45PM +0800, Hui Yiqun wrote:

> diff --git a/t/t0301-credential-cache.sh b/t/t0301-credential-cache.sh
> index 82c8411..0718bb0 100755
> --- a/t/t0301-credential-cache.sh
> +++ b/t/t0301-credential-cache.sh
> @@ -12,7 +12,32 @@ test -z "$NO_UNIX_SOCKETS" || {
>  # don't leave a stale daemon running
>  trap 'code=$?; git credential-cache exit; (exit $code); die' EXIT
>  
> +test_expect_success 'set $XDG_RUNTIME_DIR' '
> +	XDG_RUNTIME_DIR=$HOME/xdg_runtime/
> +'

Doesn't this need to export the variable so that credential-cache can
see it?

> +
> +helper_test cache
> +

This runs the full suite of tests twice (once here, and once for the
original helper_test invocation you left below). Shouldn't we just do it
once (making sure that $XDG_RUNTIME_DIR is respected)?

> +test_expect_success 'force git-credential-cache to exit so that socket disappear' '
> +	git credential-cache exit &&
> +	test_path_is_missing "$XDG_RUNTIME_DIR/git/credential-cache.sock" &&
> +	unset XDG_RUNTIME_DIR
> +'

I wondered if this might be racy. credential-cache tells the daemon
"exit", then waits for a response or EOF. The daemon sees "exit" and
calls exit(0) immediately. We clean up the socket in an atexit()
handler. So I think we are OK (the pipe will get closed when the process
exits, and the atexit handler must have run by then).

But that definitely was not designed, and is just how it happens to
work. I'm not sure if it's worth commenting on that (here, or perhaps in
the daemon code).

-Peff

  parent reply	other threads:[~2016-03-16 17:15 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-14 14:47 [GSOC] Microproject "Move ~/.git-credential-cache to ~/.config/git" 惠轶群
2016-03-14 15:42 ` Junio C Hamano
2016-03-14 19:53   ` 惠轶群
2016-03-14 20:33     ` Junio C Hamano
2016-03-15  1:32       ` 惠轶群
2016-03-15  2:14         ` Your friend
     [not found]           ` <CAKqreux-m3yHVsEQXdf+8vMNZwC0UCMBWnzbaqYJbdEEM14qiQ@mail.gmail.com>
2016-03-15  5:56             ` Ivan Tham
2016-03-15  3:13         ` Jeff King
     [not found]           ` <CAKqreuwv+RRziS-NcaLYZYUN0_KrfgZSe6wp0wGBza4q3_x8RA@mail.gmail.com>
2016-03-15 19:21             ` Jeff King
2016-03-16 10:45               ` 惠轶群
2016-03-16 10:07 ` [PATCH/RFC/GSoC 1/3] path.c: implement xdg_runtime_dir() Hui Yiqun
2016-03-16 10:07   ` [PATCH/RFC/GSoC 2/3] git-credential-cache: put socket to xdg-compatible path Hui Yiqun
2016-03-17 10:26     ` 惠轶群
2016-03-16 10:07   ` [PATCH/RFC/GSoC 3/3] t0301: test credential-cache support of XDG_RUNTIME_DIR Hui Yiqun
2016-03-16 16:17     ` Junio C Hamano
2016-03-16 16:40       ` 惠轶群
2016-03-16 16:55         ` Jeff King
2016-03-16 17:24         ` Junio C Hamano
2016-03-17  3:59           ` 谭俊浩
2016-03-17  8:12             ` Junio C Hamano
2016-03-17 10:10               ` 惠轶群
2016-03-17  9:45           ` 惠轶群
2016-03-16 17:15     ` Jeff King [this message]
2016-03-18  4:35       ` 惠轶群
     [not found]       ` <CAKqreuw7Am_wZQjYYjvsxx0Ccr4OOwoF=EnLvMTK9jxeBUFv5Q@mail.gmail.com>
2016-03-18  5:00         ` Jeff King
2016-03-18  5:11           ` 惠轶群
2016-03-18  6:02             ` 惠轶群
2016-03-18  6:12               ` [PATCH] credential-cache--daemon: clarify "exit" action semantics Jeff King
2016-03-16 17:06   ` [PATCH/RFC/GSoC 1/3] path.c: implement xdg_runtime_dir() Jeff King
2016-03-17 10:20     ` 惠轶群

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=20160316171535.GC4039@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=huiyiqun@gmail.com \
    --cc=pickfire@riseup.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).