Re: [PATCH v2] mingw: workaround for hangs when sending STDIN
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Feb 17, 2020, 17:24 UTC
- Message-ID
- <CAPig+cQWMvBi4vkAFMjV7LWjKJudja08ZqVMNfLfALxbBfpzXg@mail.gmail.com>
- In-Reply-To
- <pull.553.v2.git.1581956750001.gitgitgadget@gmail.com>
On Mon, Feb 17, 2020 at 11:26 AM Alexandr Miloslavskiy via GitGitGadget <gitgitgadget@gmail.com> wrote:
> diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh > +test_expect_success 'stash handles large files' ' > + x=0123456789abcde\n && # 16
Did you intend for the \n in this assignment to be a literal newline? Every shell with which I tested treats it instead as an escaped 'n'.
Show 9 quoted lines
> + x=$x$x$x$x$x$x$x$x && # 128 > + x=$x$x$x$x$x$x$x$x && # 1k > + x=$x$x$x$x$x$x$x$x && # 8k > + x=$x$x$x$x$x$x$x$x && # 64k > + x=$x$x$x$x$x$x$x$x && # 512k > + x=$x$x$x$x$x$x$x$x && # 4m > + x=$x$x && # 8m > + echo $x >large_file.txt && > + unset x && # release memory
By the way, are the embedded newlines actually important to the test itself, or are they just for human consumption if the test fails? I ask because I was curious about how other tests create large files, and found that a mechanism similar to your original (but without the pitfalls) has been used. For instance, t1050-large.sh uses:
printf "%2000000s" X >large1 &&
which is plenty portable and (presumably) doesn't have such demanding memory consumption.