test-lib: add helper functions for config
authorJeff King <peff@peff.net>
Thu, 18 Aug 2011 05:01:15 +0000 (22:01 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Aug 2011 21:08:54 +0000 (14:08 -0700)
commitd960c47a881c613a71b1b7c8aab3a06fd91ca70a
tree507f3e910c08b707605463fb3fe197c0880eb4ef
parent212ad944209a928dbf79faa124de77be5c84532e
test-lib: add helper functions for config

There are a few common tasks when working with configuration
variables in tests; this patch aims to make them a little
easier to write and less error-prone.

When setting a variable, you should typically make sure to
clean it up after the test is finished, so as not to pollute
other tests. Like:

   test_when_finished 'git config --unset foo.bar' &&
   git config foo.bar baz

This patch lets you just write:

  test_config foo.bar baz

When clearing a variable that does not exist, git-config
will report a specific non-zero error code. Meaning that
tests which call "git config --unset" often either rely on
the prior tests having actually set it, or must use
test_might_fail. With this patch, the previous:

  test_might_fail git config --unset foo.bar

becomes:

  test_unconfig foo.bar

Not only is this easier to type, but it is more robust; it
will correctly detect errors from git-config besides "key
was not set".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh