8000 Speed up tests for large byte arrays. · mysql-net/MySqlConnector@829daeb · GitHub
[go: up one dir, main page]

Skip to content

Commit 829daeb

Browse files
committed
Speed up tests for large byte arrays.
1 parent e0c3759 commit 829daeb

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

tests/SideBySide.New/DataTypes.cs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -486,11 +486,8 @@ public async Task InsertLargeBlobAsync(string column, int size)
486486
lastInsertId = cmd.LastInsertedId;
487487
}
488488

489-
foreach (var queryResult in await m_database.Connection.QueryAsync<byte[]>(Invariant($"select `{column}` from datatypes.blobs where rowid = {lastInsertId}")).ConfigureAwait(false))
490-
{
491-
Assert.Equal(data, queryResult);
492-
break;
493-
}
489+
var queryResult = (await m_database.Connection.QueryAsync<byte[]>(Invariant($"select `{column}` from datatypes.blobs where rowid = {lastInsertId}")).ConfigureAwait(false)).Single();
490+
TestUtilities.AssertEqual(data, queryResult);
494491

495492
await m_database.Connection.ExecuteAsync(Invariant($"delete from datatypes.blobs where rowid = {lastInsertId}")).ConfigureAwait(false);
496493
}
@@ -519,11 +516,8 @@ public void InsertLargeBlobSync(string column, int size)
519516
lastInsertId = cmd.LastInsertedId;
520517
}
521518

522-
foreach (var queryResult in m_database.Connection.Query<byte[]>(Invariant($"select `{column}` from datatypes.blobs where rowid = {lastInsertId}")))
523-
{
524-
Assert.Equal(data, queryResult);
525-
break;
526-
}
519+
var queryResult = m_database.Connection.Query<byte[]>(Invariant($"select `{column}` from datatypes.blobs where rowid = {lastInsertId}")).Single();
520+
TestUtilities.AssertEqual(data, queryResult);
527521

528522
m_database.Connection.Execute(Invariant($"delete from datatypes.blobs where rowid = {lastInsertId}"));
529523
}

tests/SideBySide.New/TestUtilities.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
11
using System;
22
using System.Globalization;
3+
using Xunit;
34

45
namespace SideBySide
56
{
67
public class TestUtilities
78
{
9+
/// <summary>
10+
/// Asserts that two byte arrays are equal. This method is much faster than xUnit's <code>Assert.Equal</code>.
11+
/// </summary>
12+
/// <param name="expected">The expected byte array.</param>
13+
/// <param name="actual">The actual byte array.</param>
14+
public static void AssertEqual(byte[] expected, byte[] actual)
15+
{
16+
Assert.Equal(expected.Length, actual.Length);
17+
for (var i = 0; i < expected.Length; i++)
18+
{
19+
if (expected[i] != actual[i])
20+
Assert.Equal(expected[i], actual[i]);
21+
}
22+
}
23+
824
public static Version ParseServerVersion(string serverVersion)
925
{
1026
// copied from MySql.Data.MySqlClient.ServerVersion

0 commit comments

Comments
 (0)
0