I'm not insane, but I am wrong! This is indeed caused by "set -e and ||". Specifically, the difference between how test-kickseed and initrd- kickseed call the kickseed function.
test-kickseed calls: RET=0 (kickseed "$1") || RET=$? This means that kickseed() is called as "part of any command executed in a && or || list", and therefore errexit has no effect anywhere inside of the kickseed function when it is called from test-kickseed. This is clearly intentional, but it also caused me substantial confusion due to different behavior, so I'll put in a tiny commit that causes a big warning message to be printed when $RET != 0. Currently the exit code is just being returned to the user, and it would take a particularly savvy user to check the exit code of test-kickseed every time and interpret that a non-zero means that the install will behave differently than the test. ** Changed in: kickseed (Ubuntu) Status: New => In Progress ** Changed in: kickseed (Ubuntu) Assignee: (unassigned) => Hamilton Turner (hamiltont-x) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1331320 Title: Differences between test-kickseed and real execution To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/kickseed/+bug/1331320/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs