Skip to content

Commit 6d14fee

Browse files
committed
Fix the broken master by the upgrade of GTest (apache#133)
(cherry picked from commit 91a97eb)
1 parent 9257d14 commit 6d14fee

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

.github/workflows/ci-pr-validation.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
6060
unit-tests:
6161
name: Run unit tests
62-
runs-on: ubuntu-latest
62+
runs-on: ubuntu-22.04
6363
timeout-minutes: 120
6464

6565
steps:

tests/KeyValueSchemaTest.cc

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ using namespace pulsar;
2525

2626
static 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

5761
TEST_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

Comments
 (0)