Skip to content

Commit 6ec9bac

Browse files
chore: Enable U-PR bot [Up Port] (#4139)
* chore: Enable U-PR bot * dotnet-fix * test - fix ValidateConnectionEventsAreEqual should check against the expectedEvent.ConnectionEvent.EventType and not the expectedEvent.SceneEvent.SceneEventType (the later throws an exception). --------- Co-authored-by: Emma <emma.mcmillan@unity3d.com>
1 parent d3da75c commit 6ec9bac

2 files changed

Lines changed: 70 additions & 63 deletions

File tree

.pr_agent.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,9 @@
1+
# This is the configuration for the u-pr bot
2+
# https://github.cds.internal.unity3d.com/unity/u-pr
3+
# For configuration of this file:
4+
# https://developer.portal.internal.unity.com/catalog/default/component/u-pr/docs/configuration/automatic_runs/
5+
16
[github_app]
2-
pr_commands = []
7+
handle_pr_actions = ['opened', 'ready_for_review'] # PR events that auto-run pr_commands
8+
pr_commands = ["/harness-review"] # what runs on those events
9+
reviewer_commands = ["/harness-review"] # what runs when @u-pr is added as reviewer

testproject/Assets/Tests/Runtime/NetworkSceneManager/SceneManagementSynchronizationTests.cs

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Unity.Collections;
77
using Unity.Netcode;
88
using Unity.Netcode.TestHelpers.Runtime;
9+
using UnityEngine;
910
using UnityEngine.TestTools;
1011

1112
namespace TestProject.RuntimeTests
@@ -24,6 +25,7 @@ public SceneManagementSynchronizationTests(HostOrServer hostOrServer) : base(hos
2425

2526
private struct ExpectedEvent
2627
{
28+
public bool IsSceneEvent;
2729
public SceneEvent SceneEvent;
2830
public ConnectionEventData ConnectionEvent;
2931
}
@@ -51,13 +53,19 @@ private void AssertEventMatchesExpectedEvent<T>(Action<ExpectedEvent> predicate,
5153
if (m_ExpectedEventQueue.Count > 0)
5254
{
5355
var expectedEvent = m_ExpectedEventQueue.Dequeue();
54-
predicate(expectedEvent);
56+
try
57+
{
58+
predicate(expectedEvent);
59+
}
60+
catch (Exception failure)
61+
{
62+
Debug.LogException(failure);
63+
}
5564
}
5665
else
5766
{
5867
Assert.Fail($"Received unexpected event at index {s_NumEventsProcessed}: {eventType}");
5968
}
60-
6169
s_NumEventsProcessed++;
6270
}
6371

@@ -100,42 +108,30 @@ public IEnumerator SynchronizationCallbacks_Authority()
100108
var expectedClientId = GetNonAuthorityNetworkManager().LocalClientId + 1;
101109

102110
// Setup expected events
103-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
111+
AddExpectedEvent(new SceneEvent()
104112
{
105-
SceneEvent = new SceneEvent()
106-
{
107-
SceneEventType = SceneEventType.Synchronize,
108-
ClientId = expectedClientId
109-
},
113+
SceneEventType = SceneEventType.Synchronize,
114+
ClientId = expectedClientId
110115
});
111116

112-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
117+
AddExpectedEvent(new SceneEvent()
113118
{
114-
SceneEvent = new SceneEvent()
115-
{
116-
SceneEventType = SceneEventType.SynchronizeComplete,
117-
ClientId = expectedClientId,
118-
},
119+
SceneEventType = SceneEventType.SynchronizeComplete,
120+
ClientId = expectedClientId,
119121
});
120122

121-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
123+
AddExpectedEvent(new ConnectionEventData()
122124
{
123-
ConnectionEvent = new ConnectionEventData()
124-
{
125-
EventType = ConnectionEvent.ClientConnected,
126-
ClientId = expectedClientId,
127-
}
125+
EventType = ConnectionEvent.ClientConnected,
126+
ClientId = expectedClientId,
128127
});
129128

130129
if (m_UseHost)
131130
{
132-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
131+
AddExpectedEvent(new ConnectionEventData()
133132
{
134-
ConnectionEvent = new ConnectionEventData()
135-
{
136-
EventType = ConnectionEvent.PeerConnected,
137-
ClientId = expectedClientId,
138-
}
133+
EventType = ConnectionEvent.PeerConnected,
134+
ClientId = expectedClientId,
139135
});
140136
}
141137

@@ -158,31 +154,22 @@ public IEnumerator SynchronizationCallbacks_NonAuthority()
158154
var expectedPeerClientIds = m_UseHost ? new[] { authorityId, peerClientId } : new[] { peerClientId };
159155

160156
// Setup expected events
161-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
157+
AddExpectedEvent(new SceneEvent()
162158
{
163-
SceneEvent = new SceneEvent()
164-
{
165-
SceneEventType = SceneEventType.Synchronize,
166-
ClientId = expectedClientId,
167-
},
159+
SceneEventType = SceneEventType.Synchronize,
160+
ClientId = expectedClientId,
168161
});
169-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
162+
AddExpectedEvent(new ConnectionEventData()
170163
{
171-
ConnectionEvent = new ConnectionEventData()
172-
{
173-
EventType = ConnectionEvent.ClientConnected,
174-
ClientId = expectedClientId,
175-
PeerClientIds = new NativeArray<ulong>(expectedPeerClientIds.ToArray(), Allocator.Persistent),
176-
}
164+
EventType = ConnectionEvent.ClientConnected,
165+
ClientId = expectedClientId,
166+
PeerClientIds = new NativeArray<ulong>(expectedPeerClientIds.ToArray(), Allocator.Persistent),
177167
});
178168

179-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
169+
AddExpectedEvent(new SceneEvent()
180170
{
181-
SceneEvent = new SceneEvent()
182-
{
183-
SceneEventType = SceneEventType.SynchronizeComplete,
184-
ClientId = expectedClientId,
185-
},
171+
SceneEventType = SceneEventType.SynchronizeComplete,
172+
ClientId = expectedClientId,
186173
});
187174

188175
Assert.Null(m_ManagerToTest, "m_ManagerToTest should be null as we should be testing newly created client");
@@ -203,27 +190,22 @@ public IEnumerator LateJoiningClient_PeerCallbacks()
203190
var nonAuthority = GetNonAuthorityNetworkManager();
204191
var expectedClientId = nonAuthority.LocalClientId + 1;
205192
SetManagerToTest(nonAuthority);
193+
206194
// Setup expected events
207-
if (m_UseCmbService)
195+
AddExpectedEvent(new ConnectionEventData()
208196
{
209-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
210-
{
211-
SceneEvent = new SceneEvent()
212-
{
213-
SceneEventType = SceneEventType.SynchronizeComplete,
214-
ClientId = expectedClientId,
215-
},
216-
});
217-
}
197+
EventType = ConnectionEvent.PeerConnected,
198+
ClientId = expectedClientId,
199+
});
218200

219-
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
201+
if (m_UseCmbService)
220202
{
221-
ConnectionEvent = new ConnectionEventData()
203+
AddExpectedEvent(new SceneEvent()
222204
{
223-
EventType = ConnectionEvent.PeerConnected,
205+
SceneEventType = SceneEventType.SynchronizeComplete,
224206
ClientId = expectedClientId,
225-
}
226-
});
207+
});
208+
}
227209

228210
//////////////////////////////////////////
229211
// Testing event notifications
@@ -233,16 +215,34 @@ public IEnumerator LateJoiningClient_PeerCallbacks()
233215
Assert.IsEmpty(m_ExpectedEventQueue, "Not all expected callbacks were received");
234216
}
235217

218+
private void AddExpectedEvent(SceneEvent expectedEvent)
219+
{
220+
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
221+
{
222+
IsSceneEvent = true,
223+
SceneEvent = expectedEvent,
224+
});
225+
}
226+
227+
private void AddExpectedEvent(ConnectionEventData expectedEvent)
228+
{
229+
m_ExpectedEventQueue.Enqueue(new ExpectedEvent()
230+
{
231+
IsSceneEvent = false,
232+
ConnectionEvent = expectedEvent,
233+
});
234+
}
235+
236236
private static void ValidateSceneEventsAreEqual(ExpectedEvent expectedEvent, SceneEvent sceneEvent)
237237
{
238-
Assert.NotNull(expectedEvent.SceneEvent, $"Received unexpected scene event {sceneEvent.SceneEventType} at index {s_NumEventsProcessed}");
238+
Assert.That(expectedEvent.IsSceneEvent, Is.True, $"Received unexpected scene event {sceneEvent.SceneEventType} at index {s_NumEventsProcessed}. Expected connection event: {expectedEvent.ConnectionEvent.EventType}");
239239
AssertField(expectedEvent.SceneEvent.SceneEventType, sceneEvent.SceneEventType, nameof(sceneEvent.SceneEventType), sceneEvent.SceneEventType);
240240
AssertField(expectedEvent.SceneEvent.ClientId, sceneEvent.ClientId, nameof(sceneEvent.ClientId), sceneEvent.SceneEventType);
241241
}
242242

243243
private static void ValidateConnectionEventsAreEqual(ExpectedEvent expectedEvent, ConnectionEventData eventData)
244244
{
245-
Assert.NotNull(expectedEvent.ConnectionEvent, $"Received unexpected connection event {eventData.EventType} at index {s_NumEventsProcessed}");
245+
Assert.That(expectedEvent.IsSceneEvent, Is.False, $"Received unexpected connection event {eventData.EventType} at index {s_NumEventsProcessed}. Expected scene event: {expectedEvent.ConnectionEvent.EventType}");
246246
AssertField(expectedEvent.ConnectionEvent.EventType, eventData.EventType, nameof(eventData.EventType), eventData.EventType);
247247
AssertField(expectedEvent.ConnectionEvent.ClientId, eventData.ClientId, nameof(eventData.ClientId), eventData.EventType);
248248

0 commit comments

Comments
 (0)