From: Stefan Beller <sbeller@google.com>
To: git@vger.kernel.org, jeanjacques.lafay@gmail.com, peff@peff.net
Cc: Stefan Beller <sbeller@google.com>
Subject: [BUG?] setting ulimit in test suite broken for me
Date: Wed, 21 Jan 2015 10:59:06 -0800 [thread overview]
Message-ID: <1421866746-29444-1-git-send-email-sbeller@google.com> (raw)
Hi,
so I wanted to create a new test for large transactions, which should look like:
run_with_limited_open_files () {
(ulimit -n 64 && "$@")
}
test_lazy_prereq ULIMIT 'run_with_limited_open_files true'
test_expect_success ULIMIT 'large transaction creating branches does not burst open file limit' '
(
echo $(ulimit -n)
for i in $(seq 65)
do
echo "create refs/heads/$i HEAD"
done >large_input &&
git update-ref --stdin <large_input &&
git rev-parse --verify -q refs/heads/65
)
'
Mind the "echo $(ulimit -n)" in there as a debugging output.
So if I run the test with "-d -v" to actually see the debugging output,
I see ulimit -n set to 32768 instead of the desired 64.
So I assumed I made a mistake and looked at other places with a similar
pattern such as in t7004-tag.sh. Inserting a debug statement (as attached,
so I don't need (to trust) -d and -v as parameters for the test) in there
also doesn't report the desired stack size of 128, but rather the system
default of 8192. Is that just my system or does anybody else also run into
such a problem?
Running ulimit -{n,s} manually in a shell (/bin/sh) as well as bash does
work as expected as it correctly reports with ulimit -a as well as breaking
the tests I try to write.
Thanks,
Stefan
Signed-off-by: Stefan Beller <sbeller@google.com>
---
t/t7004-tag.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 35c805a..4f09cb4 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -1460,20 +1460,21 @@ test_expect_success 'invalid sort parameter in configuratoin' '
'
run_with_limited_stack () {
(ulimit -s 128 && "$@")
}
test_lazy_prereq ULIMIT 'run_with_limited_stack true'
# we require ulimit, this excludes Windows
test_expect_success ULIMIT '--contains works in a deep repo' '
+ echo $(ulimit -s) > ../ulimit_recorded
>expect &&
i=1 &&
while test $i -lt 8000
do
echo "commit refs/heads/master
committer A U Thor <author@example.com> $((1000000000 + $i * 100)) +0200
data <<EOF
commit #$i
EOF"
test $i = 1 && echo "from refs/heads/master^0"
--
2.2.1.62.g3f15098
next reply other threads:[~2015-01-21 18:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-21 18:59 Stefan Beller [this message]
2015-01-21 19:03 ` [BUG?] setting ulimit in test suite broken for me Jeff King
2015-01-22 0:54 ` Stefan Beller
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=1421866746-29444-1-git-send-email-sbeller@google.com \
--to=sbeller@google.com \
--cc=git@vger.kernel.org \
--cc=jeanjacques.lafay@gmail.com \
--cc=peff@peff.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).