dotnet/runtime
LdapSessionOptions.ReferralChasing property setter doesn't work on all Linux platforms
オープン
#112,146 opened on 2025/02/04
area-System.DirectoryServiceshelp wantedtest-bug
Repository metrics
- Stars
- (17,886 個のスター)
- PR merge metrics
- (平均マージ 12d 11h) (30d で 661 merged PRs)
説明
These tests were recently re-enabled for Linux (all tests were disabled) and a recent DI test run for https://github.com/dotnet/runtime/pull/111877 had failures for:
[Centos.9.Amd64.Open]
[Debian.13.Amd64.Open]
[net10.0-linux-Debug-x64-Mono_Interpreter_Debug-Ubuntu.2204.Amd64.Open]
with test failure:
at System.DirectoryServices.Protocols.Tests.LdapSessionOptionsTests.ReferralChasing_Set_GetReturnsExpected_On_Linux(ReferralChasingOptions value) in /_/src/libraries/System.DirectoryServices.Protocols/tests/LdapSessionOptionsTests.cs:line 43
Assert.Equal() Failure: Values differ
Expected: None
Actual: All
Apparently, setting the value for None, which converts to 0 \ false for Linux when setting that bool property doesn't stick and the getter always returns All. Here's the current source for the Linux version of the setter for public ReferralChasingOptions ReferralChasing:
SetBoolValueHelper(LdapOption.LDAP_OPT_REFERRALS, value == ReferralChasingOptions.All);
This tests past locally for me on Ubuntu.
Flagging as potential test bug, since these other platforms may not support a None options.