Blame SOURCES/0002-tests-read-stdin-in-callout-test-scripts.patch

9163a4
From 70ba0298a49ccffc085da051ad553a1242f0bfe1 Mon Sep 17 00:00:00 2001
9163a4
From: Jonathon Jongsma <jjongsma@redhat.com>
9163a4
Date: Wed, 1 Dec 2021 16:39:06 -0600
9163a4
Subject: [PATCH 2/2] tests: read stdin in callout test scripts
9163a4
9163a4
Callout scripts are intended to be passed a JSON device configuration
9163a4
string on stdin. For our simple callout tests, we used single-line
9163a4
test scripts that unconditionally returned a constant response code
9163a4
(either error or success). This sometimes causes the tests to fail due
9163a4
to the following error:
9163a4
9163a4
    [2021-12-01T20:33:25Z DEBUG mdevctl::callouts] failed to execute callout script "/tmp/mdevctl-testZg8CPd/etc/mdevctl.d/scripts.d/callouts/rc1.sh": Failed to write to stdin of command
9163a4
9163a4
        Caused by:
9163a4
            Broken pipe (os error 32)
9163a4
9163a4
What seems to be happening is that mdevctl spawns the callout script and
9163a4
then attempts to write the JSON device configuration to its stdin pipe.
9163a4
However, the test scripts are so short that they may have exited before
9163a4
mdevctl can finish writing to stdin, which results in the command
9163a4
failing with a broken pipe error. In order to avoid this, make sure that
9163a4
the test scripts read from stdin before exiting.
9163a4
9163a4
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
9163a4
---
9163a4
 tests/callouts/rc0.sh | 1 +
9163a4
 tests/callouts/rc1.sh | 1 +
9163a4
 tests/callouts/rc2.sh | 1 +
9163a4
 3 files changed, 3 insertions(+)
9163a4
9163a4
diff --git a/tests/callouts/rc0.sh b/tests/callouts/rc0.sh
9163a4
index 039e4d0..669d0ec 100755
9163a4
--- a/tests/callouts/rc0.sh
9163a4
+++ b/tests/callouts/rc0.sh
9163a4
@@ -1,2 +1,3 @@
9163a4
 #!/usr/bin/env bash
9163a4
+json=$(
9163a4
 exit 0
9163a4
diff --git a/tests/callouts/rc1.sh b/tests/callouts/rc1.sh
9163a4
index ecdbef9..3863171 100755
9163a4
--- a/tests/callouts/rc1.sh
9163a4
+++ b/tests/callouts/rc1.sh
9163a4
@@ -1,2 +1,3 @@
9163a4
 #!/usr/bin/env bash
9163a4
+json=$(
9163a4
 exit 1
9163a4
diff --git a/tests/callouts/rc2.sh b/tests/callouts/rc2.sh
9163a4
index 5c66540..f2ec274 100755
9163a4
--- a/tests/callouts/rc2.sh
9163a4
+++ b/tests/callouts/rc2.sh
9163a4
@@ -1,2 +1,3 @@
9163a4
 #!/usr/bin/env bash
9163a4
+json=$(
9163a4
 exit 2
9163a4
-- 
9163a4
2.33.1
9163a4