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

Reply via email to