зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/perf-any-version'
Allow t/perf framework to use the features from the most recent version of Git even when testing an older installed version. * jk/perf-any-version: p4211: explicitly disable renames in no-rename test t/perf: fix regression in testing older versions of git
This commit is contained in:
Коммит
e9a6d71331
|
@ -115,8 +115,16 @@ After that you will want to use some of the following:
|
|||
|
||||
At least one of the first two is required!
|
||||
|
||||
You can use test_expect_success as usual. For actual performance
|
||||
tests, use
|
||||
You can use test_expect_success as usual. In both test_expect_success
|
||||
and in test_perf, running "git" points to the version that is being
|
||||
perf-tested. The $MODERN_GIT variable points to the git wrapper for the
|
||||
currently checked-out version (i.e., the one that matches the t/perf
|
||||
scripts you are running). This is useful if your setup uses commands
|
||||
that only work with newer versions of git than what you might want to
|
||||
test (but obviously your new commands must still create a state that can
|
||||
be used by the older version of git you are testing).
|
||||
|
||||
For actual performance tests, use
|
||||
|
||||
test_perf 'descriptive string' '
|
||||
command1 &&
|
||||
|
|
|
@ -23,11 +23,11 @@ test_perf 'git log --follow (baseline for -M)' '
|
|||
git log --oneline --follow -- "$file" >/dev/null
|
||||
'
|
||||
|
||||
test_perf 'git log -L' '
|
||||
git log -L 1:"$file" >/dev/null
|
||||
test_perf 'git log -L (renames off)' '
|
||||
git log --no-renames -L 1:"$file" >/dev/null
|
||||
'
|
||||
|
||||
test_perf 'git log -M -L' '
|
||||
test_perf 'git log -L (renames on)' '
|
||||
git log -M -L 1:"$file" >/dev/null
|
||||
'
|
||||
|
||||
|
|
|
@ -52,6 +52,9 @@ TEST_NO_MALLOC_CHECK=t
|
|||
# need to export them for test_perf subshells
|
||||
export TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR GIT_TEST_CMP
|
||||
|
||||
MODERN_GIT=$GIT_BUILD_DIR/bin-wrappers/git
|
||||
export MODERN_GIT
|
||||
|
||||
perf_results_dir=$TEST_OUTPUT_DIRECTORY/test-results
|
||||
mkdir -p "$perf_results_dir"
|
||||
rm -f "$perf_results_dir"/$(basename "$0" .sh).subtests
|
||||
|
@ -81,7 +84,7 @@ test_perf_create_repo_from () {
|
|||
repo="$1"
|
||||
source="$2"
|
||||
source_git="$(git -C "$source" rev-parse --git-dir)"
|
||||
objects_dir="$(git -C "$source" rev-parse --git-path objects)"
|
||||
objects_dir="$("$MODERN_GIT" -C "$source" rev-parse --git-path objects)"
|
||||
mkdir -p "$repo/.git"
|
||||
(
|
||||
cd "$source" &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче