From e1f75a459d21204964bfd79cfe8d3e2bce81839b Mon Sep 17 00:00:00 2001 From: Nick Janus Date: Tue, 5 Apr 2022 13:15:08 -0400 Subject: [PATCH] rados: adds null oid coverage to omap related tests Previous changes added support for operating on omap keys that include null characters (e.g. rados_omap_get_next2, rados_write_op_omap_rm_keys2). This change adds some basic test coverage those operations' null character support. Signed-off-by: Nick Janus --- rados/rados_test.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/rados/rados_test.go b/rados/rados_test.go index 2045f46..e4510e4 100644 --- a/rados/rados_test.go +++ b/rados/rados_test.go @@ -892,6 +892,7 @@ func (suite *RadosTestSuite) TestReadWriteOmap() { "key1": []byte("value1"), "key2": []byte("value2"), "prefixed-key3": []byte("value3"), + "null\x00key4": []byte("value4"), "empty": []byte(""), } @@ -905,7 +906,7 @@ func (suite *RadosTestSuite) TestReadWriteOmap() { remaining[k] = v } - err = suite.ioctx.ListOmapValues(oid, "", "", 4, func(key string, value []byte) { + err = suite.ioctx.ListOmapValues(oid, "", "", 5, func(key string, value []byte) { assert.Equal(suite.T(), remaining[key], value) delete(remaining, key) }) @@ -914,7 +915,7 @@ func (suite *RadosTestSuite) TestReadWriteOmap() { assert.Equal(suite.T(), len(remaining), 0) // Get (with a fixed number of keys) - fetched, err := suite.ioctx.GetOmapValues(oid, "", "", 4) + fetched, err := suite.ioctx.GetOmapValues(oid, "", "", 5) assert.NoError(suite.T(), err) assert.Equal(suite.T(), orig, fetched) @@ -924,15 +925,15 @@ func (suite *RadosTestSuite) TestReadWriteOmap() { assert.Equal(suite.T(), orig, fetched) // Get All (with an iterator size smaller than the map size) - fetched, err = suite.ioctx.GetAllOmapValues(oid, "", "", 1) + fetched, err = suite.ioctx.GetAllOmapValues(oid, "", "", 2) assert.NoError(suite.T(), err) assert.Equal(suite.T(), orig, fetched) // Remove - err = suite.ioctx.RmOmapKeys(oid, []string{"key1", "prefixed-key3"}) + err = suite.ioctx.RmOmapKeys(oid, []string{"key1", "prefixed-key3", "null\x00key4"}) assert.NoError(suite.T(), err) - fetched, err = suite.ioctx.GetOmapValues(oid, "", "", 4) + fetched, err = suite.ioctx.GetOmapValues(oid, "", "", 5) assert.NoError(suite.T(), err) assert.Equal(suite.T(), map[string][]byte{ "key2": []byte("value2"),