From: David Disseldorp Date: Wed, 10 Feb 2016 00:43:33 +0000 (+0100) Subject: test_rados_api_misc: disconnected rados_monitor_log test X-Git-Tag: v10.1.0~383^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e85ce445de4bf24ca74583c431c1ec66672fd0a6;p=ceph.git test_rados_api_misc: disconnected rados_monitor_log test Piggy-back on LibRadosMiscConnectFailure to confirm that rados_monitor_log() against a disconnected cluster context fails with -ENOTCONN, instead of aborting. Signed-off-by: David Disseldorp --- diff --git a/src/test/librados/misc.cc b/src/test/librados/misc.cc index 0fb67e0d509b..24ebe97838a9 100644 --- a/src/test/librados/misc.cc +++ b/src/test/librados/misc.cc @@ -38,6 +38,16 @@ TEST(LibRadosMiscVersion, VersionPP) { Rados::version(&major, &minor, &extra); } +static void test_rados_log_cb(void *arg, + const char *line, + const char *who, + uint64_t sec, uint64_t nsec, + uint64_t seq, const char *level, + const char *msg) +{ + std::cerr << "monitor log callback invoked" << std::endl; +} + TEST(LibRadosMiscConnectFailure, ConnectFailure) { rados_t cluster; @@ -51,6 +61,9 @@ TEST(LibRadosMiscConnectFailure, ConnectFailure) { ASSERT_EQ(0, rados_conf_set(cluster, "client_mount_timeout", "0.000001")); + ASSERT_EQ(-ENOTCONN, rados_monitor_log(cluster, "error", + test_rados_log_cb, NULL)); + ASSERT_NE(0, rados_connect(cluster)); ASSERT_NE(0, rados_connect(cluster));