On 02/02/2024 07.57, Nicholas Piggin wrote:
Rather than put a big script into the trap handler, have it call
a function.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
  scripts/arch-run.bash | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index f22ead6f..cc7da7c5 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -271,10 +271,20 @@ search_qemu_binary ()
        export PATH=$save_path
  }
+initrd_cleanup ()
+{
+       if [ "$KVM_UNIT_TESTS_ENV_OLD" ]; then
+               export KVM_UNIT_TESTS_ENV="$KVM_UNIT_TESTS_ENV_OLD"
+       else
+               unset KVM_UNIT_TESTS_ENV
+               unset KVM_UNIT_TESTS_ENV_OLD
+       fi
+}
+
  initrd_create ()
  {
        if [ "$ENVIRON_DEFAULT" = "yes" ]; then
-               trap_exit_push 'rm -f $KVM_UNIT_TESTS_ENV; [ "$KVM_UNIT_TESTS_ENV_OLD" ] 
&& export KVM_UNIT_TESTS_ENV="$KVM_UNIT_TESTS_ENV_OLD" || unset KVM_UNIT_TESTS_ENV; unset 
KVM_UNIT_TESTS_ENV_OLD'
+               trap_exit_push 'rm -f $KVM_UNIT_TESTS_ENV; initrd_cleanup'


Why don't you move the 'rm -f $KVM_UNIT_TESTS_ENV' into the initrd_cleanup() function, too? ... that would IMHO make more sense for a function that is called *_cleanup() ?

 Thomas


Reply via email to