<div dir="ltr">Sorry for the lack of tests for that part of the code, I guess I added them for one and not the other.   Note that I had actually been leaving that PR unmerged because I knew master was blocked.  Sorry it got pushed in anyway, and caused problems.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 4, 2015 at 7:20 PM, Martin Packman <span dir="ltr"><<a href="mailto:martin.packman@canonical.com" target="_blank">martin.packman@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There was some confusion about the regression to the windows test<br>
failures on trunk.<br>
<br>
<<a href="https://bugs.launchpad.net/juju-core/+bug/1450919" target="_blank">https://bugs.launchpad.net/juju-core/+bug/1450919</a>><br>
<br>
Partly my fault, Curtis initially looked at the 1.24 branch and I<br>
looked at trunk, and each branch has a different issue. Here's what<br>
I've just done to diagnose.<br>
<br>
<br>
So, trunk first, I noticed the failures looked exactly the same as<br>
before CI fiddled with the environment variable casing to work around<br>
a juju bug:<br>
<br>
<<a href="https://launchpad.net/bugs/1446871" target="_blank">https://launchpad.net/bugs/1446871</a>><br>
<br>
The fix for this bug landed on master, therefore it's easy to assume<br>
that change actually broke the casing behaviour in such a way as to<br>
invalidate the CI hack, rather than fixing the underlying issue.<br>
<br>
Looking at the code:<br>
<br>
<<a href="https://github.com/juju/juju/pull/2124/files" target="_blank">https://github.com/juju/juju/pull/2124/files</a>><br>
<br>
Two similar functions now exist for merging case, mergeEnvWin which<br>
works on map[string]string and mergeWindowsEnvironment which works on<br>
[]string. Only mergeEnvWin has tests. Guess, mergeWindowsEnvironment<br>
is bugged. Indeed:<br>
<br>
-               m[strings.ToUpper(varSplit[0])] = varSplit[1]<br>
+               k := varSplit[0]<br>
+               if _, ok := uppers[strings.ToUpper(k)]; ok {<br>
+                       uppers[k] = varSplit[1]<br>
<br>
It's not uppercasing the key in the assignment. So, Path is matched to<br>
PATH, Path is assigned to, but later only PATH is pulled out.<br>
<br>
<br>
Now for the 1.24 branch, no hints here. So, lets see what changed.<br>
Latest working 1.24 without windows test failures:<br>
<br>
<<a href="http://reports.vapour.ws/releases/2581" target="_blank">http://reports.vapour.ws/releases/2581</a>><br>
<br>
Earliest 1.24 with windows test failures:<br>
<br>
<<a href="http://reports.vapour.ws/releases/2592" target="_blank">http://reports.vapour.ws/releases/2592</a>><br>
<br>
$ git diff fffe3e4f..95e7619f<br>
<br>
2770 lines... Not helpful. But, error mentions "cannot move the charm<br>
archive" and:<br>
<br>
-<a href="http://gopkg.in/juju/charm.v5" target="_blank">gopkg.in/juju/charm.v5</a> git<br>
6b74a2771545912f8a91a544b0f28405b9938624        2015-04-14T14:33:47Z<br>
+<a href="http://gopkg.in/juju/charm.v5" target="_blank">gopkg.in/juju/charm.v5</a> git<br>
779394167ac61b02ca73ca17c3012f05a5ba316c        2015-04-30T02:46:55Z<br>
<br>
$ pushd ~/go/src/<a href="http://gopkg.in/juju/charm.v5" target="_blank">gopkg.in/juju/charm.v5</a><br>
<br>
Try to update and branches diverged? Wha?<br>
<br>
$ git diff 6b74a277..77939416<br>
<br>
Er... this includes a revert of my licence header changes, and, the<br>
answer to the test failures, Gabriel's file closing fix:<br>
<<a href="https://github.com/juju/charm/pull/119" target="_blank">https://github.com/juju/charm/pull/119</a>><br>
<<a href="https://github.com/juju/charm/pull/120" target="_blank">https://github.com/juju/charm/pull/120</a>><br>
<br>
So, just renaming a variable is *not* safe (if you accidentally back<br>
out other changes when merging).<br>
<br>
<br>
Both these regressions happened due to landing 'safe' changes while<br>
the branch was broken, and were therefore harder to pin down than they<br>
would otherwise have been.<br>
<span class="HOEnZb"><font color="#888888"><br>
Martin<br>
<br>
--<br>
Juju-dev mailing list<br>
<a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
</font></span></blockquote></div><br></div>