[PATCHv2 2/6] t7408: merge short tests, factor out testing method
From: Stefan Beller <hidden>
Date: 2016-08-06 20:11:41
Subsystem:
the rest · Maintainer:
Linus Torvalds
Tests consisting of one line each can be consolidated to have fewer tests to run as well as fewer lines of code. When having just a few git commands, do not create a new shell but use the -C flag in Git to execute in the correct directory. Signed-off-by: Stefan Beller <redacted> --- t/t7408-submodule-reference.sh | 49 +++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 32 deletions(-)
diff --git a/t/t7408-submodule-reference.sh b/t/t7408-submodule-reference.sh
index beee0bb..1d9326e 100755
--- a/t/t7408-submodule-reference.sh
+++ b/t/t7408-submodule-reference.sh@@ -8,6 +8,15 @@ test_description='test clone --reference' base_dir=$(pwd) +test_alternate_usage() { + alternates_file="$1" && + working_dir="$2" && + test_line_count = 1 "$alternates_file" && + echo "0 objects, 0 kilobytes" >expect && + git -C "$working_dir" count-objects >actual && + test_cmp expect actual +} + test_expect_success 'preparing first repository' ' test_create_repo A && (
@@ -40,44 +49,20 @@ test_expect_success 'preparing superproject' ' ) ' -test_expect_success 'submodule add --reference' ' +test_expect_success 'submodule add --reference uses alternates' ' ( cd super && git submodule add --reference ../B "file://$base_dir/A" sub && git commit -m B-super-added - ) -' - -test_expect_success 'after add: existence of info/alternates' ' - test_line_count = 1 super/.git/modules/sub/objects/info/alternates -' - -test_expect_success 'that reference gets used with add' ' - ( - cd super/sub && - echo "0 objects, 0 kilobytes" > expected && - git count-objects > current && - diff expected current - ) -' - -test_expect_success 'cloning superproject' ' - git clone super super-clone -' - -test_expect_success 'update with reference' ' - cd super-clone && git submodule update --init --reference ../B -' - -test_expect_success 'after update: existence of info/alternates' ' - test_line_count = 1 super-clone/.git/modules/sub/objects/info/alternates + ) && + test_alternate_usage super/.git/modules/sub/objects/info/alternates super/sub ' -test_expect_success 'that reference gets used with update' ' - cd super-clone/sub && - echo "0 objects, 0 kilobytes" > expected && - git count-objects > current && - diff expected current +test_expect_success 'updating superproject keeps alternates' ' + test_when_finished "rm -rf super-clone" && + git clone super super-clone && + git -C super-clone submodule update --init --reference ../B && + test_alternate_usage super-clone/.git/modules/sub/objects/info/alternates super-clone/sub ' test_done
--
2.9.2.572.g9d9644e.dirty