Revision 89a70b80ebabd237bb407f9321f24677f4f1d16d authored by Johannes Schindelin on 03 January 2018, 16:54:54 UTC, committed by Junio C Hamano on 03 January 2018, 23:55:50 UTC
When cleaning up files in the $HOME directory, it really makes sense to
quote the path, especially in Git's test suite, where the HOME directory
is *guaranteed* to contain spaces in its name.

It would appear that those two tests pass even without cleaning up the
files, but really more by pure chance than by design (the cleanup seems
not actually to be necessary).

However, if anybody would have a left-over `trash/` directory in Git's
`t/` directory, these tests would fail, because they would all of a
sudden try to delete that directory, but without the `-r` (recursive)
flag. That is how this issue was found.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 567c53d
Raw File
t1307-config-blob.sh
#!/bin/sh

test_description='support for reading config from a blob'
. ./test-lib.sh

test_expect_success 'create config blob' '
	cat >config <<-\EOF &&
	[some]
		value = 1
	EOF
	git add config &&
	git commit -m foo
'

test_expect_success 'list config blob contents' '
	echo some.value=1 >expect &&
	git config --blob=HEAD:config --list >actual &&
	test_cmp expect actual
'

test_expect_success 'fetch value from blob' '
	echo true >expect &&
	git config --blob=HEAD:config --bool some.value >actual &&
	test_cmp expect actual
'

test_expect_success 'reading non-existing value from blob is an error' '
	test_must_fail git config --blob=HEAD:config non.existing
'

test_expect_success 'reading from blob and file is an error' '
	test_must_fail git config --blob=HEAD:config --system --list
'

test_expect_success 'reading from missing ref is an error' '
	test_must_fail git config --blob=HEAD:doesnotexist --list
'

test_expect_success 'reading from non-blob is an error' '
	test_must_fail git config --blob=HEAD --list
'

test_expect_success 'setting a value in a blob is an error' '
	test_must_fail git config --blob=HEAD:config some.value foo
'

test_expect_success 'deleting a value in a blob is an error' '
	test_must_fail git config --blob=HEAD:config --unset some.value
'

test_expect_success 'editing a blob is an error' '
	test_must_fail git config --blob=HEAD:config --edit
'

test_expect_success 'parse errors in blobs are properly attributed' '
	cat >config <<-\EOF &&
	[some]
		value = "
	EOF
	git add config &&
	git commit -m broken &&

	test_must_fail git config --blob=HEAD:config some.value 2>err &&
	test_i18ngrep "HEAD:config" err
'

test_expect_success 'can parse blob ending with CR' '
	printf "[some]key = value\\r" >config &&
	git add config &&
	git commit -m CR &&
	echo value >expect &&
	git config --blob=HEAD:config some.key >actual &&
	test_cmp expect actual
'

test_done
back to top