Remove race reload test

This commit is contained in:
Theodor S. Midtlien
2026-09-18 12:22:57 +02:00
parent 29be224cdf
commit 64c84df357
2 changed files with 0 additions and 46 deletions
-8
View File
@@ -2914,10 +2914,6 @@ func (s *Server) ResolveTarget(id ipcauth.Identity, handle string) (ipcauth.Targ
match, matchErr := s.profileManager.MatchProfiles(handle)
if afterProfileResolve != nil {
afterProfileResolve()
}
if matchErr != nil {
log.Debugf("failed to match profile %q: %v", handle, matchErr)
return ipcauth.Target{}, matchHandleError(handle, matchErr)
@@ -2981,10 +2977,6 @@ func (s *Server) targetProfile(ctx context.Context) (*profilemanager.Profile, er
return resolved, nil
}
// afterProfileResolve is a seam for tests to run a concurrent profile switch
// between the resolution that stamps owners and the reload that publishes them.
var afterProfileResolve func()
// reloadActiveConfig refreshes the daemon's copy of the active profile's config
// from disk, which is where SessionHolder reads the owner of a live session.
//
@@ -92,44 +92,6 @@ func TestResolveTarget_UnreadableConfigKeepsTheOneInPlace(t *testing.T) {
require.True(t, holder.Matches(unprivilegedIdentity()))
}
// A profile switch can land while the gate is still resolving: the resolution
// reads every profile off disk, and SwitchProfile only needs the daemon lock,
// which the gate does not hold. The config the reload publishes has to be the
// one the daemon is now on, not the one the check started out reading.
func TestResolveTarget_ReloadFollowsASwitchThatLandsMidCheck(t *testing.T) {
s, _, activeProfile, _, _ := setupServerWithProfile(t)
owner := unprivilegedIdentity()
switchedTo := "switched-to"
switchedToURL := "https://switched-to.example:443"
_, err := profilemanager.UpdateOrCreateConfig(profilemanager.ConfigInput{
ConfigPath: filepath.Join(profilemanager.DefaultConfigPathDir, switchedTo+".json"),
ManagementURL: switchedToURL,
Owner: &owner,
})
require.NoError(t, err)
s.config = &profilemanager.Config{}
s.clientRunning = true
// Stand in for a SwitchProfile that lands between the resolution and the
// reload, which is the whole window the profile files are being read in.
afterProfileResolve = func() {
require.NoError(t, s.profileManager.SetActiveProfileState(&profilemanager.ActiveProfileState{
ID: profilemanager.ID(switchedTo),
}))
}
t.Cleanup(func() { afterProfileResolve = nil })
target, err := s.ResolveTarget(owner, activeProfile)
require.NoError(t, err)
require.True(t, target.Owned)
require.NotNil(t, s.config.ManagementURL)
require.Equal(t, switchedToURL, s.config.ManagementURL.String(),
"the reload published the config of a profile the daemon had already left")
}
// The handlers that start a session read their config off disk themselves.
func TestResolveTarget_IdleDaemonKeepsItsConfig(t *testing.T) {
s, _, activeProfile, _, _ := setupServerWithProfile(t)