@@ -25,10 +25,14 @@ using namespace pulsar;
2525
2626static const std::string lookupUrl = " pulsar://localhost:6650" ;
2727
28- class KeyValueSchemaTest : public ::testing::TestWithParam<KeyValueEncodingType> {
28+ // NOTE: Here we use int instead of KeyValueEncodingType because of a bug of GTest with GCC 11, see
29+ // https://github.com/google/googletest/issues/4079
30+ class KeyValueSchemaTest : public ::testing::TestWithParam<int > {
2931 public:
3032 void TearDown () override { client.close (); }
3133
34+ KeyValueEncodingType getEncodingType () const { return static_cast <KeyValueEncodingType>(GetParam ()); }
35+
3236 void createProducer (const std::string& topic, Producer& producer) {
3337 ProducerConfiguration configProducer;
3438 configProducer.setSchema (getKeyValueSchema ());
@@ -45,7 +49,7 @@ class KeyValueSchemaTest : public ::testing::TestWithParam<KeyValueEncodingType>
4549 SchemaInfo getKeyValueSchema () {
4650 SchemaInfo keySchema (JSON , " key-json" , jsonSchema);
4751 SchemaInfo valueSchema (JSON , " value-json" , jsonSchema);
48- return SchemaInfo (keySchema, valueSchema, GetParam ());
52+ return SchemaInfo (keySchema, valueSchema, getEncodingType ());
4953 }
5054
5155 private:
@@ -55,7 +59,7 @@ class KeyValueSchemaTest : public ::testing::TestWithParam<KeyValueEncodingType>
5559};
5660
5761TEST_P (KeyValueSchemaTest, testKeyValueSchema) {
58- auto encodingType = GetParam ();
62+ auto encodingType = getEncodingType ();
5963 const std::string topicName =
6064 " testKeyValueSchema-" + std::string (strEncodingType (encodingType)) + std::to_string (time (nullptr ));
6165
@@ -85,5 +89,5 @@ TEST_P(KeyValueSchemaTest, testKeyValueSchema) {
8589 ASSERT_EQ (keyValueData.getValueAsString (), valueData);
8690}
8791
88- INSTANTIATE_TEST_CASE_P (Pulsar, KeyValueSchemaTest,
89- ::testing::Values (KeyValueEncodingType::INLINE , KeyValueEncodingType::SEPARATED ));
92+ INSTANTIATE_TEST_SUITE_P (Pulsar, KeyValueSchemaTest,
93+ ::testing::Values (KeyValueEncodingType::INLINE , KeyValueEncodingType::SEPARATED ));
0 commit comments