All of lore.kernel.org
 help / color / mirror / Atom feed
From: Elijah Newren <newren@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com>,
	"Git List" <git@vger.kernel.org>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Jens Lehmann" <Jens.Lehmann@web.de>,
	"Philippe Blain" <levraiphilippeblain@gmail.com>
Subject: Re: [PATCH 0/2] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug'
Date: Thu, 19 Aug 2021 13:03:09 -0700	[thread overview]
Message-ID: <CABPp-BFKEoHTgdSnUO86zSPYR0mLHv-vUB+Z-SoTtYQbUY4H=Q@mail.gmail.com> (raw)
In-Reply-To: <CAPig+cT2FfaYBbsRMy7vxXkvsxn4BcFTn4bGJjgvJKznXg1OYg@mail.gmail.com>

On Thu, Aug 19, 2021 at 11:10 AM Eric Sunshine <sunshine@sunshineco.com> wrote:
>
> On Thu, Aug 19, 2021 at 1:16 PM Philippe Blain via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
> > This series proposes two small quality-of-life improvements (in my opinion)
> > to the 'test_pause' and 'debug' test functions: using the original values of
> > HOME and TERM (before they are changed by the test framework) and using
> > SHELL instead of SHELL_PATH.
> >
> > The later might be too big of a change, but I think it makes sense. We could
> > add a new GIT_TEST_* to conditionnaly change the behaviour, but I kept it
> > simple for v1.
>
> I also find the test_pause() user-experience suboptimal and appreciate
> the idea of improving it. However, this approach seems fatally flawed.
> In particular, setting HOME to the user's real home directory could
> lead to undesirable results. When I'm using test_pause() to debug a
> problem with a test, I'm not just inspecting the test state, but I
> quite often interact with the state using the same Git commands as the
> test itself would use. Hence, it is very common for me to pause the
> test just before the suspect commands and then run those commands
> manually (instead of allowing the test script to do so). In such a
> scenario, HOME must be pointing at the test's home directory, not at
> my real home directory.

I agree, but I worry that it's not just HOME.  I'd think the point of
test_pause is to let you interact with the repository state while
getting the same results that the test framework would, and I think
some tests could be affected by TERM and SHELL too (e.g. perhaps the
recent issues with COLUMNS).  Granted, I suspect far fewer tests would
be affected by those, but I'm not sure I like the idea of inability to
reproduce the same issues.

Maybe we just need a different construct or special flags to test_pause?


> Perhaps there's some way to achieve your goal for at least certain
> shells by detecting the shell and taking advantage of special shell
> features which allow you to launch the shell and run some canned
> commands to set up the shell as desired before dropping into an
> interactive session[1] -- but it's just an idle thought.
>
> [1]: For Bash, for instance, a quick bit of Googling leads to:
> https://serverfault.com/a/586272

  parent reply	other threads:[~2021-08-19 20:03 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-19 17:16 [PATCH 0/2] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Philippe Blain via GitGitGadget
2021-08-19 17:16 ` [PATCH 1/2] test-lib-functions: use user's SHELL, HOME and TERM for 'test_pause' Philippe Blain via GitGitGadget
2021-08-20  3:08   ` Carlo Arenas
2021-08-20 12:14     ` Philippe Blain
2021-08-19 17:16 ` [PATCH 2/2] test-lib-functions: use user's TERM and HOME for 'debug' Philippe Blain via GitGitGadget
2021-08-19 19:24   ` Taylor Blau
2021-08-20  3:18     ` Carlo Arenas
2021-08-19 18:10 ` [PATCH 0/2] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Eric Sunshine
2021-08-19 19:57   ` Junio C Hamano
2021-08-19 20:14     ` Eric Sunshine
2021-08-19 20:03   ` Elijah Newren [this message]
2021-08-19 20:11     ` Eric Sunshine
2021-08-20 12:12       ` Philippe Blain
2021-08-20 15:50         ` Eric Sunshine
2021-08-20 18:23         ` Jeff King
2021-08-28  0:47 ` [PATCH v2 0/3] " Philippe Blain via GitGitGadget
2021-08-28  0:47   ` [PATCH v2 1/3] test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause' Philippe Blain via GitGitGadget
2021-08-28  0:47   ` [PATCH v2 2/3] test-lib-functions: optionally keep HOME, TERM and SHELL " Philippe Blain via GitGitGadget
2021-08-28  7:27     ` Elijah Newren
2021-08-28 14:50       ` Philippe Blain
2021-08-28  0:47   ` [PATCH v2 3/3] test-lib-functions: optionally keep HOME and TERM in 'debug' Philippe Blain via GitGitGadget
2021-09-01 13:31   ` [PATCH v3 0/3] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Philippe Blain via GitGitGadget
2021-09-01 13:31     ` [PATCH v3 1/3] test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause' Philippe Blain via GitGitGadget
2021-09-01 20:04       ` Junio C Hamano
2021-09-01 13:31     ` [PATCH v3 2/3] test-lib-functions: optionally keep HOME, TERM and SHELL " Philippe Blain via GitGitGadget
2021-09-01 20:26       ` Junio C Hamano
2021-09-01 21:52         ` Elijah Newren
2021-09-01 23:09           ` Junio C Hamano
2021-09-02 13:10             ` Philippe Blain
2021-09-01 13:31     ` [PATCH v3 3/3] test-lib-functions: optionally keep HOME and TERM in 'debug' Philippe Blain via GitGitGadget
2021-09-06  4:20     ` [PATCH v4 0/3] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Philippe Blain via GitGitGadget
2021-09-06  4:20       ` [PATCH v4 1/3] test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause' Philippe Blain via GitGitGadget
2021-09-06  4:20       ` [PATCH v4 2/3] test-lib-functions: optionally keep HOME, TERM and SHELL " Philippe Blain via GitGitGadget
2021-09-06  4:20       ` [PATCH v4 3/3] test-lib-functions: keep user's debugger config files and TERM in 'debug' Philippe Blain via GitGitGadget
2021-09-06  4:38       ` [PATCH v5 0/3] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Philippe Blain via GitGitGadget
2021-09-06  4:38         ` [PATCH v5 1/3] test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause' Philippe Blain via GitGitGadget
2021-09-06  4:38         ` [PATCH v5 2/3] test-lib-functions: optionally keep HOME, TERM and SHELL " Philippe Blain via GitGitGadget
2021-09-06  4:39         ` [PATCH v5 3/3] test-lib-functions: keep user's debugger config files and TERM in 'debug' Philippe Blain via GitGitGadget
2021-09-07  6:24         ` [PATCH v5 0/3] test-lib-functions.sh: keep user's HOME, TERM and SHELL for 'test_pause' and 'debug' Elijah Newren

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='CABPp-BFKEoHTgdSnUO86zSPYR0mLHv-vUB+Z-SoTtYQbUY4H=Q@mail.gmail.com' \
    --to=newren@gmail.com \
    --cc=Jens.Lehmann@web.de \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=levraiphilippeblain@gmail.com \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@gmail.com \
    /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.