From: David Aguilar <davvid@gmail.com>
To: Armin Kunaschik <megabreit@googlemail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
Git List <git@vger.kernel.org>
Subject: Re: t7800 test failure
Date: Thu, 26 May 2016 21:19:44 -0700 [thread overview]
Message-ID: <20160527041944.GA17438@gmail.com> (raw)
In-Reply-To: <CALR6jEixZitA1CTE_kDkDEHv59ALT9zkCOgd28unMhLUZKt48Q@mail.gmail.com>
On Wed, May 25, 2016 at 11:33:33AM +0200, Armin Kunaschik wrote:
> On Tue, May 24, 2016 at 7:36 PM, Junio C Hamano <gitster@pobox.com> wrote:
> > Armin Kunaschik <megabreit@googlemail.com> writes:
> >>
> >> Ok, how can this be implemented within the test environment?
> >
> > I actually think an unconditional check like this is sufficient.
>
> Ah, good. My thoughts were a bit more complicated.
> Anyway, this works for me.
> Thanks!
Would you mind submitting a patch so that we can support these
tests when running on AIX/HP-UX?
> > t/t7800-difftool.sh | 17 +++++++++--------
> > 1 file changed, 9 insertions(+), 8 deletions(-)
> >
> > diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
> > index 7ce4cd7..f304228 100755
> > --- a/t/t7800-difftool.sh
> > +++ b/t/t7800-difftool.sh
> > @@ -442,15 +442,16 @@ run_dir_diff_test 'difftool --dir-diff with unmerged files' '
> > test_cmp expect actual
> > '
> >
> > -write_script .git/CHECK_SYMLINKS <<\EOF
> > -for f in file file2 sub/sub
> > -do
> > - echo "$f"
> > - readlink "$2/$f"
> > -done >actual
> > -EOF
> > -
> > test_expect_success PERL,SYMLINKS 'difftool --dir-diff --symlink without unstaged changes' '
> > +
> > + write_script .git/CHECK_SYMLINKS <<-\EOF &&
> > + for f in file file2 sub/sub
> > + do
> > + echo "$f"
> > + ls -ld "$2/$f" | sed -e "s/.* -> //"
> > + done >actual
> > + EOF
> > +
> > cat >expect <<-EOF &&
> > file
> > $PWD/file
I was curious so I whipped together a small tweak to
t/check-non-portable-shell.pl below.
The difftool tests are not the only ones that use readlink.
My guess is you haven't run the p4 tests because AIX/HP-UX doesn't have p4?
$ make test-lint-shell-syntax
t7800-difftool.sh:449: error: readlink is not portable (please use ls -ld | sed): readlink "$2/$f"
t9802-git-p4-filetype.sh:266: error: readlink is not portable (please use ls -ld | sed): test $(readlink symlink) = symlink-target
t9802-git-p4-filetype.sh:332: error: readlink is not portable (please use ls -ld | sed): test $(readlink empty-symlink) = target2
test-lib.sh:757: error: readlink is not portable (please use ls -ld | sed): test "$1" = "$(readlink "$2")" || {
If we want to ban use of readlink from the test suite we could
add it to the check script. test-lib.sh also includes it for
valgrind support so I'm not really sure whether we'd want to
apply this, but I figured I'd bring it up for discussion.
If we end up fixing all of these then I can send this to the
list as a proper patch.
Curious, is there an easy way to get readlink and mktemp installed on AIX?
Another alternative is that we can compile our own
"git-readlink" and "git-mktemp" programs and use those instead,
but that seems like a big maintenance burden compared to the
relative simplicity of the test-suite workarounds.
Thanks for fixing my non-portable tests ;-)
--- 8< --- 8< ---
From 40c41402dfa24ca16b41062172c34f238d77b42c Mon Sep 17 00:00:00 2001
From: David Aguilar <davvid@gmail.com>
Date: Thu, 26 May 2016 02:42:52 -0700
Subject: [PATCH] tests: add shell portability check for "readlink"
Signed-off-by: David Aguilar <davvid@gmail.com>
---
t/check-non-portable-shell.pl | 1 +
1 file changed, 1 insertion(+)
diff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl
index b170cbc..2707e42 100755
--- a/t/check-non-portable-shell.pl
+++ b/t/check-non-portable-shell.pl
@@ -18,6 +18,7 @@ while (<>) {
chomp;
/\bsed\s+-i/ and err 'sed -i is not portable';
/\becho\s+-n/ and err 'echo -n is not portable (please use printf)';
+ /\breadlink\s+/ and err 'readlink is not portable (please use ls -ld | sed)';
/^\s*declare\s+/ and err 'arrays/declare not portable';
/^\s*[^#]\s*which\s/ and err 'which is not portable (please use type)';
/\btest\s+[^=]*==/ and err '"test a == b" is not portable (please use =)';
--
2.7.0.rc3
--
David
next prev parent reply other threads:[~2016-05-27 4:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-24 15:53 t7800 test failure Armin Kunaschik
2016-05-24 16:48 ` Matthieu Moy
2016-05-24 16:57 ` Junio C Hamano
2016-05-24 17:20 ` Armin Kunaschik
2016-05-24 17:36 ` Junio C Hamano
2016-05-25 9:33 ` Armin Kunaschik
2016-05-27 4:19 ` David Aguilar [this message]
2016-05-27 7:48 ` Matthieu Moy
2016-05-31 0:26 ` [PATCH] t7800 readlink not found Armin Kunaschik
2016-05-31 5:06 ` Torsten Bögershausen
2016-05-31 5:51 ` Junio C Hamano
2016-06-21 14:44 ` Armin Kunaschik
2016-06-21 18:39 ` Junio C Hamano
2016-06-21 20:30 ` Torsten Bögershausen
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=20160527041944.GA17438@gmail.com \
--to=davvid@gmail.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=megabreit@googlemail.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.