Commit Graph

5 Commits

Author SHA1 Message Date
brian m. carlson
f6f4f6a8e4
Fix remote autoselection when not on a branch
We currently have code that determines which remote to us automatically.
For example, if there is only one remote, we want to use it, no matter
what it's named, because there's no other logical choice.

However, if we were not on any branch, we'd always end up picking
"origin", even if that remote didn't exist. This appears to have been
because we wanted to avoid a lookup with an empty branch name in the
configuration. Doing so is harmless, though, so let's simply check that
the branch name isn't empty before we execute that condition, and fall
back to the rest of the checks if it is. This ensures that we always
pick the only remote when there's just one.
2019-08-07 15:49:37 +00:00
Taylor Blau
32f2490258 t/t-smudge.sh: remove unnecessary test
In the "smudge with skip" test (i.e., the one that tests using
$GIT_LFS_SKIP_SMUDGE), we unset the variable in the environment, and
then check that it has indeed been removed.

We expect that the 'unset' program will work without issue, so let's
remove the check that ensures it so.

As an additional benefit (and the reason for this change in the first
place) we allow this test to continue to pass even when the latest
commit message mentions the word "GIT_LFS_SKIP_SMUDGE".

On some CI systems, the commit message from HEAD is placed in the
environment variable (e.g., APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED) and
hence causes this test to fail.
2019-02-05 19:01:16 -08: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
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