Merge branch 'ls/checkout-encoding'
[gitweb.git] / t / t5300-pack-object.sh
index 43a672c3451146f800852a6d8688c10e497b47cf..65ff60f2ee9b4af61f3f2d7d0f889fc4529e2b60 100755 (executable)
@@ -16,8 +16,8 @@ test_expect_success \
      perl -e "print \"a\" x 4096;" > a &&
      perl -e "print \"b\" x 4096;" > b &&
      perl -e "print \"c\" x 4096;" > c &&
-     test-genrandom "seed a" 2097152 > a_big &&
-     test-genrandom "seed b" 2097152 > b_big &&
+     test-tool genrandom "seed a" 2097152 > a_big &&
+     test-tool genrandom "seed b" 2097152 > b_big &&
      git update-index --add a a_big b b_big c &&
      cat c >d && echo foo >>d && git update-index --add d &&
      tree=$(git write-tree) &&
@@ -311,8 +311,8 @@ test_expect_success 'unpacking with --strict' '
        rm -f .git/index &&
        tail -n 10 LIST | git update-index --index-info &&
        ST=$(git write-tree) &&
-       PACK5=$( git rev-list --objects "$LIST" "$LI" "$ST" | \
-               git pack-objects test-5 ) &&
+       git rev-list --objects "$LIST" "$LI" "$ST" >actual &&
+       PACK5=$( git pack-objects test-5 <actual ) &&
        PACK6=$( (
                        echo "$LIST"
                        echo "$LI"
@@ -358,8 +358,8 @@ test_expect_success 'index-pack with --strict' '
        rm -f .git/index &&
        tail -n 10 LIST | git update-index --index-info &&
        ST=$(git write-tree) &&
-       PACK5=$( git rev-list --objects "$LIST" "$LI" "$ST" | \
-               git pack-objects test-5 ) &&
+       git rev-list --objects "$LIST" "$LI" "$ST" >actual &&
+       PACK5=$( git pack-objects test-5 <actual ) &&
        PACK6=$( (
                        echo "$LIST"
                        echo "$LI"
@@ -421,6 +421,42 @@ test_expect_success 'index-pack <pack> works in non-repo' '
        test_path_is_file foo.idx
 '
 
+test_expect_success !PTHREADS,C_LOCALE_OUTPUT 'index-pack --threads=N or pack.threads=N warns when no pthreads' '
+       test_must_fail git index-pack --threads=2 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 1 warnings &&
+       grep -F "no threads support, ignoring --threads=2" err &&
+
+       test_must_fail git -c pack.threads=2 index-pack 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 1 warnings &&
+       grep -F "no threads support, ignoring pack.threads" err &&
+
+       test_must_fail git -c pack.threads=2 index-pack --threads=4 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 2 warnings &&
+       grep -F "no threads support, ignoring --threads=4" err &&
+       grep -F "no threads support, ignoring pack.threads" err
+'
+
+test_expect_success !PTHREADS,C_LOCALE_OUTPUT 'pack-objects --threads=N or pack.threads=N warns when no pthreads' '
+       git pack-objects --threads=2 --stdout --all </dev/null >/dev/null 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 1 warnings &&
+       grep -F "no threads support, ignoring --threads" err &&
+
+       git -c pack.threads=2 pack-objects --stdout --all </dev/null >/dev/null 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 1 warnings &&
+       grep -F "no threads support, ignoring pack.threads" err &&
+
+       git -c pack.threads=2 pack-objects --threads=4 --stdout --all </dev/null >/dev/null 2>err &&
+       grep ^warning: err >warnings &&
+       test_line_count = 2 warnings &&
+       grep -F "no threads support, ignoring --threads" err &&
+       grep -F "no threads support, ignoring pack.threads" err
+'
+
 #
 # WARNING!
 #