Commit Graph

7 Commits

Author SHA1 Message Date
brian m. carlson
9e006ac4e2
Rename default branch in tests to "main"
Currently, our default branch in tests is "master".  This is the Git
default, but the Git default will likely change in the future, so it
makes sense to update our testsuite to be explicit about the branch
name.  We'll ensure this continues by building against older versions of
Git as well as newer versions.

We use "main" for the new branch name, since that's the proposed value
upstream.

This commit was made entirely by automated means using the following
command:

  git grep -l master t | xargs sed -i -e 's/master/main/g'
2020-07-08 15:38:17 +00:00
brian m. carlson
cd754792c0
t: fix flaky tests due to race condition
It's possible that the final "Downloading objects" message might not be
printed in some cases due to a race condition.  (The corresponding
upload message, on the other hand, will always be printed because it
runs before the actual push.)

To avoid spurious failures, don't look for this message in several tests
where this race condition commonly occurs.  Instead, use "git lfs fsck"
to verify that we downloaded all the objects we expected to get.

In addition, several of the tests also check that the expected number of
objects is correct, which provides additional confidence that our test
did in fact succeed.
2019-09-09 14:30:54 +00:00
brian m. carlson
7646075431 tq: pass custom transfer adapter args to the shell
When a custom transfer adapter is specified in the configuration, it is
not possible to specify multiple arguments to the process, because only
the last value of the lfs.customtransfer.*.args option is read and the
value is not split.  To make things easier and more flexible,
concatenate the path (after quoting) and the arguments and pass them to
the shell.  Update the documentation to reflect this change.

Update the test custom transfer adapter to parse its arguments (which
are otherwise ignored) and mention them to standard error.  Make the
test check that the arguments are parsed as the shell would expect them
to be.
2018-09-14 23:52:38 +00:00
brian m. carlson
b2ddccd90d t: avoid using shell variables in printf's first argument
The printf(1) command, like it's C cousin, takes a format string as its
first argument.  If a shell variable is passed as the first argument, it
will be interpreted as a format string; this can lead to surprising
behavior and can cause the test suite to fail if we accidentally insert
a format string character into the variable.

Modify all the places in the individual tests that we use a plain quoted
variable as the format string by running the following Ruby one-liner:

  ruby -i -pe '$_.gsub!(/printf "\$/, %q(printf "%s" "$))' t/t-*.sh

Avoid modifying the test helpers, as there are places (such as calc_oid)
where we want to pass text containing escapes (such as "\n") and have
those be properly interpreted by printf(1).
2018-09-10 14:57:10 +00:00
Taylor Blau
02e794440c t: remove extraneous assertion
We already test that 12 objects were transferred successfully below, so
let's avoid asserting against an English phrase which is subject to
change.
2018-07-25 19:01:18 -05:00
Taylor Blau
de9152049c t: load shell scripts from $(dirname) instead of 't' 2018-07-10 13:51:40 -05:00
Taylor Blau
219b7e0a3d t: prefix all existing tests with t- 2018-07-09 16:24:25 -05:00