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

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