Skip to content

Commit

Permalink
Try to fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
wherewhere committed Oct 31, 2023
1 parent a06c5a7 commit b9d2378
Show file tree
Hide file tree
Showing 11 changed files with 107 additions and 105 deletions.
35 changes: 17 additions & 18 deletions AdvancedSharpAdbClient.Tests/AdbClientTests.Async.cs
Original file line number Diff line number Diff line change
Expand Up @@ -328,25 +328,24 @@ public async void ExecuteRemoteCommandAsyncUnresponsiveTest()
[Fact]
public async void GetFrameBufferAsyncTest()
{
DummyAdbSocket socket = new();

socket.Responses.Enqueue(AdbResponse.OK);
socket.Responses.Enqueue(AdbResponse.OK);

socket.Requests.Add("host:transport:169.254.109.177:5555");
socket.Requests.Add("framebuffer:");

socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebufferheader.bin"));
socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebuffer.bin"));

Framebuffer framebuffer = null;
string[] requests =
[
"host:transport:169.254.109.177:5555",
"framebuffer:"
];

using (FactoriesLocker locker = await FactoriesLocker.WaitAsync())
{
Factories.AdbSocketFactory = (endPoint) => socket;
framebuffer = await TestClient.GetFrameBufferAsync(Device);
Factories.Reset();
}
Framebuffer framebuffer = await RunTestAsync(
OkResponses(2),
NoResponseMessages,
requests,
NoSyncRequests,
NoSyncResponses,
[
await File.ReadAllBytesAsync("Assets/framebufferheader.bin"),
await File.ReadAllBytesAsync("Assets/framebuffer.bin")
],
null,
() => TestClient.GetFrameBufferAsync(Device));

Assert.NotNull(framebuffer);
Assert.Equal(Device, framebuffer.Device);
Expand Down
35 changes: 17 additions & 18 deletions AdvancedSharpAdbClient.Tests/AdbClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -439,25 +439,24 @@ public void CreateRefreshableFramebufferTest()
[Fact]
public void GetFrameBufferTest()
{
DummyAdbSocket socket = new();

socket.Responses.Enqueue(AdbResponse.OK);
socket.Responses.Enqueue(AdbResponse.OK);

socket.Requests.Add("host:transport:169.254.109.177:5555");
socket.Requests.Add("framebuffer:");

socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebufferheader.bin"));
socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebuffer.bin"));

Framebuffer framebuffer = null;
string[] requests =
[
"host:transport:169.254.109.177:5555",
"framebuffer:"
];

using (FactoriesLocker locker = FactoriesLocker.Wait())
{
Factories.AdbSocketFactory = (endPoint) => socket;
framebuffer = TestClient.GetFrameBuffer(Device);
Factories.Reset();
}
Framebuffer framebuffer = RunTest(
OkResponses(2),
NoResponseMessages,
requests,
NoSyncRequests,
NoSyncResponses,
[
File.ReadAllBytes("Assets/framebufferheader.bin"),
File.ReadAllBytes("Assets/framebuffer.bin")
],
null,
() => TestClient.GetFrameBuffer(Device));

Assert.NotNull(framebuffer);
Assert.Equal(Device, framebuffer.Device);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ public async void StatAsyncTest()
ISyncService mock = Substitute.For<ISyncService>();
mock.StatAsync("/test", Arg.Any<CancellationToken>()).Returns(tcs.Task);

using FactoriesLocker locker = await FactoriesLocker.WaitAsync();
DeviceData device = new();

Factories.SyncServiceFactory = (c, d) => mock;
Factories.SyncServiceFactory = (c, d) =>
{
Factories.Reset();
return mock;
};

DeviceData device = new();
Assert.Equal(await tcs.Task, await client.StatAsync(device, "/test"));

Factories.Reset();
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ public void StatTest()
ISyncService mock = Substitute.For<ISyncService>();
mock.Stat("/test").Returns(stats);

using FactoriesLocker locker = FactoriesLocker.Wait();
DeviceData device = new();

Factories.SyncServiceFactory = (c, d) => mock;
Factories.SyncServiceFactory = (c, d) =>
{
Factories.Reset();
return mock;
};

DeviceData device = new();
Assert.Equal(stats, client.Stat(device, "/test"));

Factories.Reset();
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ public async void InstallPackageAsyncTest()
{
DummySyncService syncService = new();

using FactoriesLocker locker = await FactoriesLocker.WaitAsync();

Factories.SyncServiceFactory = (c, d) => syncService;

DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
Expand All @@ -52,7 +48,7 @@ public async void InstallPackageAsyncTest()
State = DeviceState.Online
};

PackageManager manager = new(adbClient, device);
PackageManager manager = new(adbClient, device, (c, d) => syncService);
await manager.InstallPackageAsync("Assets/test.txt");

Assert.Equal(3, adbClient.ReceivedCommands.Count);
Expand Down Expand Up @@ -129,10 +125,6 @@ public async void InstallMultiplePackageAsyncTest()
{
DummySyncService syncService = new();

using FactoriesLocker locker = await FactoriesLocker.WaitAsync();

Factories.SyncServiceFactory = (c, d) => syncService;

DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
Expand All @@ -151,7 +143,7 @@ public async void InstallMultiplePackageAsyncTest()
State = DeviceState.Online
};

PackageManager manager = new(adbClient, device);
PackageManager manager = new(adbClient, device, (c, d) => syncService);
await manager.InstallMultiplePackageAsync("Assets/test.txt", ["Assets/gapps.txt", "Assets/logcat.bin"]);

Assert.Equal(9, adbClient.ReceivedCommands.Count);
Expand Down Expand Up @@ -184,8 +176,6 @@ public async void InstallMultiplePackageAsyncTest()
Assert.Equal(2, syncService.UploadedFiles.Count);
Assert.True(syncService.UploadedFiles.ContainsKey("/data/local/tmp/gapps.txt"));
Assert.True(syncService.UploadedFiles.ContainsKey("/data/local/tmp/logcat.bin"));

Factories.Reset();
}

[Fact]
Expand Down
16 changes: 2 additions & 14 deletions AdvancedSharpAdbClient.Tests/DeviceCommands/PackageManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@ public void InstallPackageTest()
{
DummySyncService syncService = new();

using FactoriesLocker locker = FactoriesLocker.Wait();

Factories.SyncServiceFactory = (c, d) => syncService;

DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
Expand All @@ -80,7 +76,7 @@ public void InstallPackageTest()
State = DeviceState.Online
};

PackageManager manager = new(adbClient, device);
PackageManager manager = new(adbClient, device, (c, d) => syncService);
manager.InstallPackage("Assets/test.txt");

Assert.Equal(3, adbClient.ReceivedCommands.Count);
Expand All @@ -89,8 +85,6 @@ public void InstallPackageTest()

Assert.Single(syncService.UploadedFiles);
Assert.True(syncService.UploadedFiles.ContainsKey("/data/local/tmp/test.txt"));

Factories.Reset();
}

[Fact]
Expand Down Expand Up @@ -157,10 +151,6 @@ public void InstallMultiplePackageTest()
{
DummySyncService syncService = new();

using FactoriesLocker locker = FactoriesLocker.Wait();

Factories.SyncServiceFactory = (c, d) => syncService;

DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
Expand All @@ -179,7 +169,7 @@ public void InstallMultiplePackageTest()
State = DeviceState.Online
};

PackageManager manager = new(adbClient, device);
PackageManager manager = new(adbClient, device, (c, d) => syncService);
manager.InstallMultiplePackage("Assets/test.txt", ["Assets/gapps.txt", "Assets/logcat.bin"]);

Assert.Equal(9, adbClient.ReceivedCommands.Count);
Expand Down Expand Up @@ -212,8 +202,6 @@ public void InstallMultiplePackageTest()
Assert.Equal(2, syncService.UploadedFiles.Count);
Assert.True(syncService.UploadedFiles.ContainsKey("/data/local/tmp/gapps.txt"));
Assert.True(syncService.UploadedFiles.ContainsKey("/data/local/tmp/logcat.bin"));

Factories.Reset();
}

[Fact]
Expand Down
22 changes: 6 additions & 16 deletions AdvancedSharpAdbClient.Tests/Models/FramebufferTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,9 @@ public void RefreshTest()
socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebufferheader.bin"));
socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebuffer.bin"));

using Framebuffer framebuffer = new(device);
using Framebuffer framebuffer = new(device, (endPoint) => socket);

using (FactoriesLocker locker = FactoriesLocker.Wait())
{
Factories.AdbSocketFactory = (endPoint) => socket;
framebuffer.Refresh();
Factories.Reset();
}
framebuffer.Refresh();

Assert.NotNull(framebuffer);
Assert.Equal(device, framebuffer.Device);
Expand Down Expand Up @@ -106,17 +101,12 @@ public async void RefreshAsyncTest()
socket.Requests.Add("host:transport:169.254.109.177:5555");
socket.Requests.Add("framebuffer:");

socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebufferheader.bin"));
socket.SyncDataReceived.Enqueue(File.ReadAllBytes("Assets/framebuffer.bin"));
socket.SyncDataReceived.Enqueue(await File.ReadAllBytesAsync("Assets/framebufferheader.bin"));
socket.SyncDataReceived.Enqueue(await File.ReadAllBytesAsync("Assets/framebuffer.bin"));

using Framebuffer framebuffer = new(device);
using Framebuffer framebuffer = new(device, (endPoint) => socket);

using (FactoriesLocker locker = await FactoriesLocker.WaitAsync())
{
Factories.AdbSocketFactory = (endPoint) => socket;
await framebuffer.RefreshAsync();
Factories.Reset();
}
await framebuffer.RefreshAsync();

Assert.NotNull(framebuffer);
Assert.Equal(device, framebuffer.Device);
Expand Down
15 changes: 6 additions & 9 deletions AdvancedSharpAdbClient.Tests/SocketBasedTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class SocketBasedTests
{
protected SocketBasedTests(bool integrationTest, bool doDispose)
{
using FactoriesLocker locker = FactoriesLocker.Wait();
Func<EndPoint, IAdbSocket> AdbSocketFactory;

// this.EndPoint = AdbClient.Instance.EndPoint;
#if DEBUG
Expand All @@ -21,28 +21,25 @@ protected SocketBasedTests(bool integrationTest, bool doDispose)
if (integrationTest)
{
TracingAdbSocket tracingSocket = new(EndPoint) { DoDispose = doDispose };

Factories.AdbSocketFactory = (endPoint) => tracingSocket;
AdbSocketFactory = (endPoint) => tracingSocket;
}
else
{
DummyAdbSocket socket = new();
Factories.AdbSocketFactory = (endPoint) => socket;
AdbSocketFactory = (endPoint) => socket;
}

IntegrationTest = integrationTest;
#else
// In release mode (e.g. on the build server),
// never run integration tests.
DummyAdbSocket socket = new();
Factories.AdbSocketFactory = (endPoint) => socket;
AdbSocketFactory = (endPoint) => socket;
IntegrationTest = false;
#endif
Socket = (IDummyAdbSocket)Factories.AdbSocketFactory(EndPoint);

TestClient = new AdbClient();
Socket = (IDummyAdbSocket)AdbSocketFactory(EndPoint);

Factories.Reset();
TestClient = new AdbClient(AdbSocketFactory);
}

protected static AdbResponse[] NoResponses { get; } = [];
Expand Down
4 changes: 2 additions & 2 deletions AdvancedSharpAdbClient.Tests/SyncServiceTests.Async.cs
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ await foreach (FileStatistics statistics in service.GetDirectoryAsyncListing("/s
public async void PullAsyncTest()
{
await using MemoryStream stream = new();
byte[] content = File.ReadAllBytes("Assets/fstab.bin");
byte[] content = await File.ReadAllBytesAsync("Assets/fstab.bin");
byte[] contentLength = BitConverter.GetBytes(content.Length);

await RunTestAsync(
Expand Down Expand Up @@ -189,7 +189,7 @@ public async void PullAsyncTest()
public async void PushAsyncTest()
{
FileStream stream = File.OpenRead("Assets/fstab.bin");
byte[] content = File.ReadAllBytes("Assets/fstab.bin");
byte[] content = await File.ReadAllBytesAsync("Assets/fstab.bin");
byte[] contentMessage =
[
.. SyncCommandConverter.GetBytes(SyncCommand.DATA),
Expand Down
11 changes: 10 additions & 1 deletion AdvancedSharpAdbClient/AdbClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,15 @@ public AdbClient(string host, int port, Func<EndPoint, IAdbSocket> adbSocketFact
{
}

/// <summary>
/// Initializes a new instance of the <see cref="AdbClient"/> class.
/// </summary>
/// <param name="adbSocketFactory">The <see cref="Func{EndPoint, IAdbSocket}"/> to create <see cref="IAdbSocket"/>.</param>
public AdbClient(Func<EndPoint, IAdbSocket> adbSocketFactory)
: this(new IPEndPoint(IPAddress.Loopback, AdbServerPort), adbSocketFactory)
{
}

/// <summary>
/// Get or set default encoding.
/// </summary>
Expand Down Expand Up @@ -399,7 +408,7 @@ public Framebuffer CreateRefreshableFramebuffer(DeviceData device)
{
EnsureDevice(device);

return new Framebuffer(device, this);
return new Framebuffer(device, this, adbSocketFactory);
}

/// <inheritdoc/>
Expand Down

0 comments on commit b9d2378

Please sign in to comment.