{"thread":{"id":"47603","subject":"RE: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","startedAt":"2018-01-12T19:42:34Z","lastAt":"2018-01-16T18:19:37Z","messageCount":6,"participants":["Randall S. Becker","Junio C Hamano","Tanay Abhra"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"336527","messageId":"004b01d38bdd$7a11da60$6e358f20$@nexbridge.com","threadId":"47603","inReplyTo":null,"subject":"RE: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-01-12T19:42:21Z","receivedAt":"2018-01-12T19:42:34Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On January 11, 2018 11:11 PM, Junio C Hamano wrote:\n> A release candidate Git v2.16.0-rc2 is now available for testing at the usual\n> places.  It is comprised of 483 non-merge commits since v2.15.0, contributed\n> by 80 people, 23 of which are new faces.\n<snip>\n\nPlease forgive my not knowing the proper way to report this ... we have a few breakages on the NonStop port (which has finally caught up to 2.16, yay!). The test run takes a very long time to run, so this is preliminary. I'm also not sure who should try to resolve these.\n\nFor 1308:\n\nValue not found for \"foo.bar\"\nnot ok 23 - proper error on directory \"files\"\n#\n#               echo \"Error (-1) reading configuration file a-directory.\" >expect &&\n#               mkdir a-directory &&\n#               test_expect_code 2 test-config configset_get_value foo.bar a-directory 2>output &&\n#               grep \"^warning:\" output &&\n#               grep \"^Error\" output >actual &&\n#               test_cmp expect actual\ntest_expect_code: command exited with 1, we wanted 2 test-config configset_get_value foo.bar a-directory\n\nIt looks like the exit code is coming back as 1 not 2. There is also a file except vs expect.\n./trash directory.t1308-config-set: ls\na-directory  actual  config2  except  expect  output  result\n\nFor 1404: It looks like the error was detected, but the test case was not structured to handle where the detection occurred. Here's what I see:\n\nnot ok 52 - delete fails cleanly if packed-refs file is locked\n#\n#               prefix=refs/locked-packed-refs &&\n#               # Set up a reference with differing loose and packed versions:\n#               git update-ref $prefix/foo $C &&\n#               git pack-refs --all &&\n#               git update-ref $prefix/foo $D &&\n#               git for-each-ref $prefix >unchanged &&\n#               # Now try to delete it while the `packed-refs` lock is held:\n#               : >.git/packed-refs.lock &&\n#               test_when_finished \"rm -f .git/packed-refs.lock\" &&\n#               test_must_fail git update-ref -d $prefix/foo >out 2>err &&\n#               git for-each-ref $prefix >actual &&\n#               test_i18ngrep \"Unable to create $Q.*packed-refs.lock$Q: File exists\" err &&\n#               test_cmp unchanged actual\n#\n\n# failed 1 among 52 test(s)\n1..52\n./trash directory.t1404-update-ref-errors: ls\nactual       commands  expected      expected-refs  out         unchanged\nactual-refs  err       expected-err  input          output.err\n./trash directory.t1404-update-ref-errors: cat err\nerror: Unable to create '/home/git/git/t/trash directory.t1404-update-ref-errors/.git/packed-refs.lock': File already exists.\n\nAnother git process seems to be running in this repository, e.g.\nan editor opened by 'git commit'. Please make sure all processes\nare terminated then try again. If it still fails, a git process\nmay have crashed in this repository earlier:\nremove the file manually to continue.\n./trash directory.t1404-update-ref-errors: cat out\n\nSincerely,\nRandall\n\n-- Brief whoami:\n NonStop developer since approximately 211288444200000000\n UNIX developer since approximately 421664400\n-- In my real life, I talk too much.\n\n\n\n"},{"id":"336530","messageId":"xmqqd12ewx1v.fsf@gitster.mtv.corp.google.com","threadId":"47603","inReplyTo":"004b01d38bdd$7a11da60$6e358f20$@nexbridge.com","subject":"Re: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-12T22:07:40Z","receivedAt":"2018-01-12T22:07:50Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Randall S. Becker\" <rsbecker@nexbridge.com> writes:\n\n> It looks like the exit code is coming back as 1 not 2. There is\n> also a file except vs expect.\n> ./trash directory.t1308-config-set: ls\n> a-directory  actual  config2  except  expect  output  result\n\nThe test that leaves \"except\" does look wrong.  The relevant part\nlooks like this:\n\n    test_expect_success 'find value with highest priority from a configset' '\n            echo hask >expect &&\n            test-config configset_get_value case.baz config2 .git/config >actual &&\n            test_cmp expect actual\n    '\n\n    test_expect_success 'find value_list for a key from a configset' '\n            cat >except <<-\\EOF &&\n            sam\n            ...\n            EOF\n            test-config configset_get_value case.baz config2 .git/config >actual &&\n            test_cmp expect actual\n    '\n\nThe invocations of test-config in these two tests look exactly the\nsame, at least to me, so whatever comes out of the command and\nstored in 'actual' must match what the first test stored in 'expect'\nand compared the same as 'actual' in that test.\n\nSo the second test is probably asking a wrong question to test-config\nbut because it prepares an expected answer in a wrong file, it did\nnot even notice that it is asking a wrong question X-<.\n\nThe wrong test comes from 4c715ebb (\"test-config: add tests for the\nconfig_set API\", 2014-07-28); I do not know offhand if the author of\nthat change is still around.\n\nHaving said all that, I suspect that the \"except\" thing may not have\nanything to do with what you are observing; sorry for not ending up\nto be very helpful X-<.\n\n\n\n\n"},{"id":"336532","messageId":"008f01d38bfa$7eba9bc0$7c2fd340$@nexbridge.com","threadId":"47603","inReplyTo":"xmqqd12ewx1v.fsf@gitster.mtv.corp.google.com","subject":"RE: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-01-12T23:10:05Z","receivedAt":"2018-01-12T23:10:22Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On January 12, 2018 5:08 PM, Junio C Hamano wrote:\n> \"Randall S. Becker\" <rsbecker@nexbridge.com> writes:\n> > It looks like the exit code is coming back as 1 not 2. There is also a\n> > file except vs expect.\n> > ./trash directory.t1308-config-set: ls a-directory  actual  config2\n> > except  expect  output  result\n> \n> The test that leaves \"except\" does look wrong.  The relevant part looks\nlike\n> this:\n> \n>     test_expect_success 'find value with highest priority from a\nconfigset' '\n>             echo hask >expect &&\n>             test-config configset_get_value case.baz config2 .git/config\n>actual &&\n>             test_cmp expect actual\n>     '\n> \n>     test_expect_success 'find value_list for a key from a configset' '\n>             cat >except <<-\\EOF &&\n>             sam\n>             ...\n>             EOF\n>             test-config configset_get_value case.baz config2 .git/config\n>actual &&\n>             test_cmp expect actual\n>     '\n> \n> The invocations of test-config in these two tests look exactly the same,\nat\n> least to me, so whatever comes out of the command and stored in 'actual'\n> must match what the first test stored in 'expect'\n> and compared the same as 'actual' in that test.\n> \n> So the second test is probably asking a wrong question to test-config but\n> because it prepares an expected answer in a wrong file, it did not even\n> notice that it is asking a wrong question X-<.\n> \n> The wrong test comes from 4c715ebb (\"test-config: add tests for the\n> config_set API\", 2014-07-28); I do not know offhand if the author of that\n> change is still around.\n> \n> Having said all that, I suspect that the \"except\" thing may not have\nanything\n> to do with what you are observing; sorry for not ending up to be very\nhelpful\n> X-<.\n\nSadly, fixing the \"except\" thing causes the test to break now. I can't make\nsense of the intent of this, unless the test is to find unmatching keys and\nit really does mean \"except\"\n--- expect      2018-01-12 23:03:41 +0000\n+++ actual      2018-01-12 23:03:41 +0000\n@@ -1,5 +1 @@\n-sam\n-bat\n hask\n-lama\n-ball\n\n[case]\nbaz = lama\n[my]\nnew = silk\n[case]\nbaz = ball\n\n"},{"id":"336534","messageId":"xmqqy3l2ves2.fsf@gitster.mtv.corp.google.com","threadId":"47603","inReplyTo":"008f01d38bfa$7eba9bc0$7c2fd340$@nexbridge.com","subject":"Re: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-12T23:27:41Z","receivedAt":"2018-01-12T23:27:48Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Randall S. Becker\" <rsbecker@nexbridge.com> writes:\n\n> Sadly, fixing the \"except\" thing causes the test to break now.\n\nThat is exactly what I wanted to say.  If you want to \"fix\" it,\nyou'd need to figure out what the author of the \"except\" thing\nwanted to test, adjust the args given to test-config (it cannot be\nthe same as the test-config invocation of the previous test), and\nthen fix the typo s/except/expect/.  Changing the typo alone *will*\nof course make the test fail, because then the file with the\ncorrected name, i.e. \"expect\", has bogus lines that does not match\nhow the current invocation of \"test-config\" command is expected to\noutput.\n\n> sense of the intent of this, unless the test is to find unmatching keys and\n> it really does mean \"except\"\n> --- expect      2018-01-12 23:03:41 +0000\n> +++ actual      2018-01-12 23:03:41 +0000\n> @@ -1,5 +1 @@\n> -sam\n> -bat\n>  hask\n> -lama\n> -ball\n>\n> [case]\n> baz = lama\n> [my]\n> new = silk\n> [case]\n> baz = ball\n"},{"id":"336537","messageId":"CAEc54XAP0jFuD4J_XUZOuHEBZ+6PceEQbpm7HJEtRt4NS7Lf2A@mail.gmail.com","threadId":"47603","inReplyTo":"xmqqy3l2ves2.fsf@gitster.mtv.corp.google.com","subject":"Re: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Tanay Abhra","fromEmail":"tanayabh@gmail.com","sentAt":"2018-01-13T02:51:51Z","receivedAt":"2018-01-13T02:51:57Z","isPatch":false,"sender":{"key":"tanayabh@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2097229?v=4"},"body":"On Fri, Jan 12, 2018 at 5:27 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>\n> \"Randall S. Becker\" <rsbecker@nexbridge.com> writes:\n>\n> > Sadly, fixing the \"except\" thing causes the test to break now.\n>\n> That is exactly what I wanted to say.  If you want to \"fix\" it,\n> you'd need to figure out what the author of the \"except\" thing\n> wanted to test, adjust the args given to test-config (it cannot be\n> the same as the test-config invocation of the previous test), and\n> then fix the typo s/except/expect/.  Changing the typo alone *will*\n> of course make the test fail, because then the file with the\n> corrected name, i.e. \"expect\", has bogus lines that does not match\n> how the current invocation of \"test-config\" command is expected to\n> output.\n\n\nHi Guys,\n\nI was the original author of the test, I am sorry about the typo.\n\nI will submit a patch fixing the test. The fix can be checked at\nhttps://github.com/git/git/pull/451.\n\n'configset_get_value' will be changed to 'configset_get_value_multi'\nsince the test expects a list of values instead of a single value.\n\nThanks,\nTanay Abhra\n"},{"id":"336662","messageId":"xmqqpo69vf7y.fsf@gitster.mtv.corp.google.com","threadId":"47603","inReplyTo":"CAEc54XAP0jFuD4J_XUZOuHEBZ+6PceEQbpm7HJEtRt4NS7Lf2A@mail.gmail.com","subject":"Re: [ANNOUNCE] Git v2.16.0-rc2 - breakages in t1308 and 1404","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-16T18:19:29Z","receivedAt":"2018-01-16T18:19:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Tanay Abhra <tanayabh@gmail.com> writes:\n\n> I was the original author of the test, I am sorry about the typo.\n> ...\n> 'configset_get_value' will be changed to 'configset_get_value_multi'\n> since the test expects a list of values instead of a single value.\n\nThanks for a quick reaction!!\n\n"}]}