Re: [BUG] test suite broken with GETTEXT_POISON=YesPlease
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 24, 2017, 01:18 UTC
- Message-ID
- <xmqqwpaa38o2.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <e7aed763-cf46-4d7e-1b11-0a7a65b8f496@grubix.eu>
Michael J Gruber <git@grubix.eu> writes:
Show 28 quoted lines
> Ævar Arnfjörð Bjarmason venit, vidit, dixit 20.04.2017 23:58: >> As a refresh of everyone's memory (because mine needed it). This is a >> feature I added back in 2011 when the i18n support was initially >> added. >> >> There was concern at the time that we would inadvertently mark >> plumbing messages for translation, particularly something in a shared >> code path, and this was a way to hopefully smoke out those issues with >> the test suite. >> >> However compiling with it breaks a couple of dozen tests, I stopped >> digging when I saw some broke back in 2014. >> >> What should be done about this? I think if we're going to keep them >> they need to be run regularly by something like Travis (Lars CC'd), >> however empirical evidence suggests that not running them is just fine >> too, so should we just remove support for this test mode? >> >> I don't care, but I can come up with the patch either way, but would >> only be motivated to write the one-time fix for it if some CI system >> is actually running them regularly, otherwise they'll just be subject >> to bitrotting again. > > I use that switch when I change something that involves l10n, but > usually I run specific tests only. To be honest: I have to make sure not > to get confused by (nor forget one of) the build flag GETTEXT_POISON and > the environment variable GIT_GETTEXT_POISON. I'm not sure I always > tested what I meant to test...
To be quite honest, I have always felt that we are just as likely inadvertently use test_i18ncmp when we should use test_cmp (and vice versa) as we would mark plumbing messages with _() by mistake with this approach, and even with constant monitoring by something like Travis, GETTEXT_POISON may be able to catch mistakes only some of the time (i.e. when we do not make mistakes in writing our tests). Without constant monitoring, I agree that the mechanism does not work well to catch our mistakes.