From 46eb5bae5ab93253c55bae1ae00919e563b760d6 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Mon, 3 Jul 2023 20:55:03 +0200 Subject: [PATCH] Fix exit code handling for FUSE2 drivers --- test/dwarfs_tools.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/dwarfs_tools.cpp b/test/dwarfs_tools.cpp index a496f79b..bff28ad8 100644 --- a/test/dwarfs_tools.cpp +++ b/test/dwarfs_tools.cpp @@ -458,23 +458,23 @@ class driver_runner { if (!mountpoint_.empty()) { #ifndef _WIN32 if (process_) { -#endif -#ifdef _WIN32 - constexpr int expected_exit_code = 0; -#else - constexpr int expected_exit_code = SIGINT; #endif process_->interrupt(); process_->wait(); auto ec = process_->exit_code(); - if (ec != expected_exit_code) { + bool is_expected_exit_code = ec == 0 +#ifndef _WIN32 + || ec == SIGINT +#endif + ; + if (!is_expected_exit_code) { std::cerr << "driver failed to unmount:\nout:\n" << process_->out() << "err:\n" << process_->err() << "exit code: " << ec << "\n"; } process_.reset(); mountpoint_.clear(); - return ec == expected_exit_code; + return is_expected_exit_code; #ifndef _WIN32 } else { subprocess::check_run(find_fusermount(), "-u", mountpoint_);