Skip to contentSkip to conversation

t1900: add tests for git repo structure subcommand

PATCH In review Mansi Singh via GitGitGadget 3 participants 3 messages Mar 10

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 t1900: add tests for git repo structure subcommand

From: Mansi Singh <[email protected]>

The t1900 test file covers git repo info thoroughly but has no tests for the git repo structure subcommand. Add basic tests to verify that:

- git repo structure succeeds and produces no stderr output
- git repo structure --format=keyvalue outputs expected keys
- git repo structure --format=nul succeeds
- git repo structure rejects an unknown format

---
t1900: add tests for git repo structure subcommand

Add tests for the git repo structure subcommand in t1900-repo-info.sh. The tests verify that git repo structure outputs the expected fields (commits, trees, blobs, tags) in both default and key-value formats.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2066%2FMansiSingh17%2Frepo-add-structure-tests-v3-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2066/MansiSingh17/repo-add-structure-tests-v3-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2066

 t/t1900-repo-info.sh | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
t/t1900-repo-info.sh +22 -0
index a9eb07abe8..b63d404075 100755
@@ -149,4 +149,26 @@ test_expect_success 'git repo info --keys uses lines as its default output forma
 	test_cmp expect actual
 '
 
+
+test_expect_success 'git repo structure succeeds' '
+	git repo structure >actual 2>stderr &&
+	test_must_be_empty stderr
+'
+
+test_expect_success 'git repo structure --format=lines succeeds' '
+	git repo structure --format=lines >actual &&
+	grep "references.branches.count=" actual &&
+	grep "objects.commits.count=" actual
+'
+
+test_expect_success 'git repo structure --format=nul succeeds' '
+	git repo structure --format=nul >actual
+'
+
+test_expect_success 'git repo structure rejects unknown format' '
+	echo "fatal: invalid format ${SQ}foo${SQ}" >expect &&
+	test_must_fail git repo structure --format=foo 2>actual &&
+	test_cmp expect actual
+'
+
 test_done

base-commit: d181b9354cf85b44455ce3ca9e6af0b9559e0ae2

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 10 lines · Mansi Singh via GitGitGadget

From: Mansi Singh <[email protected]>

The t1900 test file covers git repo info thoroughly but has no tests for the git repo structure subcommand. Add basic tests to verify that:

- git repo structure succeeds and produces no stderr output
- git repo structure --format=keyvalue outputs expected keys
- git repo structure --format=nul succeeds
- git repo structure rejects an unknown format

Ask those who have worked on the relevant command to review by adding them on the Cc: line.

#2 lore raw
In reply to Mansi Singh via GitGitGadget
Quoted 19 lines

From: Mansi Singh <[email protected]>

The t1900 test file covers git repo info thoroughly but has no tests for the git repo structure subcommand. Add basic tests to verify that:

- git repo structure succeeds and produces no stderr output
- git repo structure --format=keyvalue outputs expected keys
- git repo structure --format=nul succeeds
- git repo structure rejects an unknown format

---
t1900: add tests for git repo structure subcommand

Add tests for the git repo structure subcommand in t1900-repo-info.sh. The tests verify that git repo structure outputs the expected fields (commits, trees, blobs, tags) in both default and key-value formats.

Quoted 9 lines

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2066%2FMansiSingh17%2Frepo-add-structure-tests-v3-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2066/MansiSingh17/repo-add-structure-tests-v3-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2066

 t/t1900-repo-info.sh | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Hi,

The very next file in t/
i.e t1901.. is about repo structure

You might wanna check that out
because I find most of these to be redundant

Regards
- Jayatheerth