Commit Graph

13 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
Kitten King
f5f712b4de
Fix Typos 2019-07-24 07:17:40 +00:00
Preben Ingvaldsen
955cddbbbe t: add netrc retry test
Add a test to ensure that, if netrc credentials fail, the
credential helper will successfuly fall back on other credential
helpers.
2018-10-08 16:18:06 -07:00
Preben Ingvaldsen
1026ff073c creds: Add new NetrcCredentialHelper
This commit adds a new credential helper, NetrcCredentialHelper,
to retrieve credentials from a .netrc file. This replaces the
old .netrc authorization behaviour, which was done directly from
the `doWithAuth()` code.

Additionally, this commit moves all of the `.netrc` functionality
out of `lfsapi` and into `creds`. This was done both because
`creds` is now the logical place for the `.netrc` functionality,
and to prevent an import cycle between `creds` and `lfsapi`.
2018-10-08 16:18:06 -07:00
Preben Ingvaldsen
3cc9f6a087 t: quote command substitutions in tests
Quote the command substitutions in the last two credentials tests
so that they'll provide a more user-friendly error message if they
fail.
2018-10-04 12:04:40 -07:00
Preben Ingvaldsen
d36dd5a2ea tq: retry unauthorized requests
In the Basic Download and Basic Upload adapters, retry requests
that failed due to a lack of Authorization. This will allow these
requests to go through the normal auth flow without having to make
another batch request.
2018-09-28 14:16:55 -07:00
Preben Ingvaldsen
3f61ea62f4 tq: use correct access
For tq requests, use the URL being transferred to for the access
mode instead of the LFS API endpoint. Since these endpoints are
different, this will ensure credentials aren't passed along
needlessly if, for example, the API endpoint requires
authentication and the endpoint being transferred to does not.
2018-09-28 14:16:55 -07: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
c4378ead92 t: disable lock verification in credentials test
Lock verification can cause an extra HTTP POST to /locks/verify, which
adds an extra 'git credential fill' output to the log of 'git push',
hence failing a below assertion.
2018-07-25 18:41:43 -05:00
Taylor Blau
38906f60b5 t-credentials.sh: update test-credentials binary name 2018-07-11 15:27:10 -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