Re: [PATCH] t9301-fast-export: move unset of config variable into its own test function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Brandon Casey <casey@xxxxxxxxxxxxxxx> writes:

> On platforms with a broken iconv it may be necessary to skip the fourth
> test in this script. Test four sets the i18n.commitencoding config variable.
> If test four is skipped, then a later unset of the i18n.commitencoding
> config variable will return a non-zero exit status and cause a test to fail.
> So move the 'config --unset' into its own test function which allows it to
> be skipped independently.

I do not know if this is worth it, and I am reasonably sure this is not an
optimal solution for this particular case.

Many existing pieces in the test scripts, I even suspect majority of them,
do depend on earlier piece in the sequence to succeed and try to build on
top of the state they have left.  In the ideal world, especially when the
software is young and flaky, perhaps that should not be the case and
having test pieces that are as independent as each other would be easier
to fix many tests that do not pass, but these days we expect all tests to
pass, so running tests has become like reading the error output from
compilers --- very often, the first error is the only one that counts.

Even though test-lib.sh does support skipping individual test pieces by
adding t9301.12 to GIT_TEST_SKIP, it is not very useful in practice with
the current set of tests, it would involve huge effort to make it reliably
usable, and individual test pieces in the end result from such an effort
will have to perform their own set-up from scratch, which would mean the
test will take even longer to run, to catch occasional breakages.

For this particular case, what we are interested in testing is not that
"config --unset" exits with 0 status.  We are however interested in making
sure that i18n.commitencoding is not set when the body of #12 runs.

So I think a more appropriate change would be something like this for this
particular case.

 t/t9301-fast-export.sh |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git c/t/t9301-fast-export.sh i/t/t9301-fast-export.sh
index 3cb9f80..2ce2aff 100755
--- c/t/t9301-fast-export.sh
+++ i/t/t9301-fast-export.sh
@@ -190,7 +190,9 @@ export GIT_COMMITTER_NAME='C O Mitter'
 
 test_expect_success 'setup copies' '
 
-	git config --unset i18n.commitencoding &&
+	git config --unset i18n.commitencoding
+
+	test -z $(git config i18n.commitencoding) &&
 	git checkout -b copy rein &&
 	git mv file file3 &&
 	git commit -m move1 &&

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux