With my recent alarm mail changes, I now see one test failing with
master and I have no clue why. Any idea?
Robin
scripts.base.frameworks.control.configuration_update ... failed
% 'btest-diff controllee/.stdout' failed unexpectedly (exit code 1)
% cat .diag
== File ===============================
ORIGINAL VALUE (this should be printed out first)
ORIGINAL VALUE (this should be printed out first)
== Diff ===============================
--- /tmp/test-diff.22007.controllee..stdout.baseline.tmp 2011-10-26 22:27:52.570262720 +0000
+++ /tmp/test-diff.22007.controllee..stdout.tmp 2011-10-26 22:27:52.580263105 +0000
@@ -1,2 +1,2 @@
ORIGINAL VALUE (this should be printed out first)
-NEW VALUE (this should be printed out second)
+ORIGINAL VALUE (this should be printed out first)
Found it: it's the redefable global function. Something's in there
doesn't seem to (un-)serialize well. But sending complete functions
around isn't really supported anyway, so I think we can just stop
trying to update functions on the fly.
Seth, is there anything that relies on that? (It would still send the
notice_policy because the top-level ID for that is a table; in
principle, the function in there could cause similar trouble, but that
seems unlikely).
Hm, the control framework only tries to update consts. I'm surprised it's even trying to send it unless functions are actually const internally even though they're declared global.
Seth, is there anything that relies on that? (It would still send the
notice_policy because the top-level ID for that is a table; in
principle, the function in there could cause similar trouble, but that
seems unlikely).
Not that I can think of. I've had the notion of sending functions in mind for a while and I think it would be great to be able to do that (primarily at first for live updates to the notice policy at first as you indicated) but for now we can just cut out functions.
Yes, I think that's the case. The global_ids() call indicates it's
const (and technically that's right in the sense that the global does
have a constant value because there's no way to change it).