From af4f0a99a29a1c5bc4d6414559afa3ca21cd9163 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 30 Oct 2025 08:33:05 -0400 Subject: [PATCH 1/3] build with ASan (expect failure due to test leak) --- .evergreen/config_generator/components/oidc.py | 8 +++++++- .evergreen/generated_configs/variants.yml | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.evergreen/config_generator/components/oidc.py b/.evergreen/config_generator/components/oidc.py index 5cc7a74704..deedd19e40 100644 --- a/.evergreen/config_generator/components/oidc.py +++ b/.evergreen/config_generator/components/oidc.py @@ -66,9 +66,15 @@ def tasks(): def variants(): return [ BuildVariant( - name='oidc', + name='oidc-asan', display_name='OIDC', run_on=[find_small_distro('ubuntu2404').name], tasks=[EvgTaskRef(name='test-oidc-task-group')], + expansions = { + 'ASAN': 'on', + 'CFLAGS': '-fno-omit-frame-pointer', + 'CHECK_LOG': 'ON', + 'SANITIZE': 'address,undefined', + } ), ] diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index cc35dc5664..677d3f0692 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -253,10 +253,15 @@ buildvariants: SANITIZE: address,undefined tasks: - name: mock-server-test - - name: oidc + - name: oidc-asan display_name: OIDC run_on: - ubuntu2404-small + expansions: + ASAN: "on" + CFLAGS: -fno-omit-frame-pointer + CHECK_LOG: "ON" + SANITIZE: address,undefined tasks: - name: test-oidc-task-group - name: openssl-compat-matrix From 3bd2f9c9748aaaf79d9b04f22fd37c590faf2282 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 30 Oct 2025 08:44:25 -0400 Subject: [PATCH 2/3] fix CC identifier --- .evergreen/config_generator/components/oidc.py | 2 +- .evergreen/generated_configs/tasks.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/config_generator/components/oidc.py b/.evergreen/config_generator/components/oidc.py index deedd19e40..6905865be9 100644 --- a/.evergreen/config_generator/components/oidc.py +++ b/.evergreen/config_generator/components/oidc.py @@ -49,7 +49,7 @@ def tasks(): SaslCyrusOpenSSLCompile.call(), expansions_update( updates=[ - KeyValueParam(key='CC', value='clang'), + KeyValueParam(key='CC', value='gcc'), # OIDC test servers support both OIDC and user/password. KeyValueParam(key='AUTH', value='auth'), # Use user/password for default test clients. KeyValueParam(key='OIDC', value='oidc'), # Enable OIDC tests. diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index e368108ddc..7443eb7151 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -4215,7 +4215,7 @@ tasks: - command: expansions.update params: updates: - - { key: CC, value: clang } + - { key: CC, value: gcc } - { key: AUTH, value: auth } - { key: OIDC, value: oidc } - { key: MONGODB_VERSION, value: latest } From a23414514ed385921c48330455df3af38c068ce6 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 30 Oct 2025 10:48:11 -0400 Subject: [PATCH 3/3] fix test leak --- src/libmongoc/tests/test-mongoc-oidc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libmongoc/tests/test-mongoc-oidc.c b/src/libmongoc/tests/test-mongoc-oidc.c index 4e3a487f48..c4138997a8 100644 --- a/src/libmongoc/tests/test-mongoc-oidc.c +++ b/src/libmongoc/tests/test-mongoc-oidc.c @@ -269,8 +269,8 @@ test_oidc_bad_config(void *unused) // Expect error if callback is set twice on pool: { - mongoc_client_pool_t *pool = - mongoc_client_pool_new(mongoc_uri_new("mongodb://localhost/?authMechanism=MONGODB-OIDC")); + mongoc_uri_t *uri = mongoc_uri_new("mongodb://localhost/?authMechanism=MONGODB-OIDC"); + mongoc_client_pool_t *pool = mongoc_client_pool_new(uri); mongoc_oidc_callback_t *cb = mongoc_oidc_callback_new(oidc_callback_fn); ASSERT(mongoc_client_pool_set_oidc_callback(pool, cb)); capture_logs(true); @@ -278,6 +278,7 @@ test_oidc_bad_config(void *unused) ASSERT_CAPTURED_LOG("oidc", MONGOC_LOG_LEVEL_ERROR, "called once"); mongoc_oidc_callback_destroy(cb); mongoc_client_pool_destroy(pool); + mongoc_uri_destroy(uri); } }