diff options
author | Victoria Dye <vdye@github.com> | 2022-08-12 23:10:15 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-08-12 23:20:02 +0300 |
commit | 6783fd3cef0d6625e8a6d9d42d76042447078401 (patch) | |
tree | 8970911181f2fa4f73cf8daa191b46af2f5286cd /t/t0092-diagnose.sh | |
parent | 33cba726f03e1e06b10b85cf4a1cbd1017810486 (diff) |
builtin/diagnose.c: create 'git diagnose' builtin
Create a 'git diagnose' builtin to generate a standalone zip archive of
repository diagnostics.
The "diagnose" functionality was originally implemented for Scalar in
aa5c79a331 (scalar: implement `scalar diagnose`, 2022-05-28). However, the
diagnostics gathered are not specific to Scalar-cloned repositories and
can be useful when diagnosing issues in any Git repository.
Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Helped-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0092-diagnose.sh')
-rwxr-xr-x | t/t0092-diagnose.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/t0092-diagnose.sh b/t/t0092-diagnose.sh new file mode 100755 index 0000000000..b6923726fd --- /dev/null +++ b/t/t0092-diagnose.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +test_description='git diagnose' + +TEST_PASSES_SANITIZE_LEAK=true +. ./test-lib.sh + +test_expect_success UNZIP 'creates diagnostics zip archive' ' + test_when_finished rm -rf report && + + git diagnose -o report -s test >out && + grep "Available space" out && + + zip_path=report/git-diagnostics-test.zip && + test_path_is_file "$zip_path" && + + # Check zipped archive content + "$GIT_UNZIP" -p "$zip_path" diagnostics.log >out && + test_file_not_empty out && + + "$GIT_UNZIP" -p "$zip_path" packs-local.txt >out && + grep ".git/objects" out && + + "$GIT_UNZIP" -p "$zip_path" objects-local.txt >out && + grep "^Total: [0-9][0-9]*" out && + + # Should not include .git directory contents by default + ! "$GIT_UNZIP" -l "$zip_path" | grep ".git/" + grep "^Total: [0-9][0-9]*" out +' + +test_done |