From 27912e58582ba60e54696c2b0dc0b690be1e161c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 21 Jun 2013 14:53:22 -0700 Subject: [PATCH] librados: make cmd test tolerate NXIO for osd commands The cluster may be thrashing underneath us; tolerate NXIO in case the OSD is currently down. Signed-off-by: Sage Weil --- src/test/librados/cmd.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/test/librados/cmd.cc b/src/test/librados/cmd.cc index 39484d76af0..6abcca9772b 100644 --- a/src/test/librados/cmd.cc +++ b/src/test/librados/cmd.cc @@ -62,17 +62,22 @@ TEST(LibRadosCmd, OSDCmd) { std::string pool_name = get_temp_pool_name(); ASSERT_EQ("", create_one_pool(pool_name, &cluster)); + int r; char *buf, *st; size_t buflen, stlen; char *cmd[2]; cmd[1] = NULL; + // note: tolerate NXIO here in case the cluster is thrashing out underneath us. cmd[0] = (char *)"asdfasdf"; - ASSERT_EQ(-22, rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + r = rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen); + ASSERT_TRUE(r == -22 || r == -ENXIO); cmd[0] = (char *)"version"; - ASSERT_EQ(-22, rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + r = rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen); + ASSERT_TRUE(r == -22 || r == -ENXIO); cmd[0] = (char *)"{\"prefix\":\"version\"}"; - ASSERT_EQ(0, rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + r = rados_osd_command(cluster, 0, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen); + ASSERT_TRUE(r == 0 || r == -ENXIO); ASSERT_LT(0u, buflen); rados_buffer_free(buf); rados_buffer_free(st); -- 2.47.3