Skip to content

Commit f8409df

Browse files
authored
Run tests on multiple frameworks (#808)
* Run tests on multiple frameworks @bording helpfully suggested this in this comment: #804 (comment) * Add ref assemblies * Bump framework version to 3.1 * Add mono to Travis to test net461 * Only test dotnet core 3 on Travis CI * Do not test net461 via shell script, assuming that mono is not available
1 parent 9404246 commit f8409df

File tree

6 files changed

+20
-18
lines changed

6 files changed

+20
-18
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
sudo: false
22
dist: xenial
33
language: csharp
4+
dotnet: 3.1
45
mono: none
5-
dotnet: 3.1.102
66

77
addons:
88
apt:
@@ -14,7 +14,7 @@ addons:
1414

1515
env:
1616
global:
17-
- RABBITMQ_VERSION=3.8.2
17+
- RABBITMQ_VERSION=3.8.3
1818
- RABBITMQ_DOWNLOAD_URL="https://github.com/rabbitmq/rabbitmq-server/releases/download/v$RABBITMQ_VERSION/rabbitmq-server-generic-unix-$RABBITMQ_VERSION.tar.xz"
1919
- RABBITMQ_TAR="rabbitmq-$RABBITMQ_VERSION.tar.xz"
2020

projects/Unit/Fixtures.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,7 @@ public static string CertificatesDirectory()
699699
public class TimingFixture
700700
{
701701
public static readonly TimeSpan TimingInterval = TimeSpan.FromMilliseconds(300);
702+
public static readonly TimeSpan TimingInterval_2X = TimeSpan.FromMilliseconds(600);
702703
public static readonly TimeSpan SafetyMargin = TimeSpan.FromMilliseconds(150);
703704
public static readonly TimeSpan TestTimeout = TimeSpan.FromSeconds(5);
704705
}

projects/Unit/TestBlockingCell.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public void TestBackgroundUpdateSucceeds()
140140
SetAfter(TimingInterval, k, 123);
141141

142142
ResetTimer();
143-
int v = k.WaitForValue(TimingInterval * 2);
143+
int v = k.WaitForValue(TimingInterval_2X);
144144
Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
145145
Assert.AreEqual(123, v);
146146
}
@@ -152,7 +152,7 @@ public void TestBackgroundUpdateSucceedsWithTimeSpan()
152152
SetAfter(TimingInterval, k, 123);
153153

154154
ResetTimer();
155-
int v = k.WaitForValue(TimingInterval * 2);
155+
int v = k.WaitForValue(TimingInterval_2X);
156156
Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
157157
Assert.AreEqual(123, v);
158158
}
@@ -174,7 +174,7 @@ public void TestBackgroundUpdateSucceedsWithInfiniteTimeoutTimeSpan()
174174
public void TestBackgroundUpdateFails()
175175
{
176176
var k = new BlockingCell<int>();
177-
SetAfter(TimingInterval * 2, k, 123);
177+
SetAfter(TimingInterval_2X, k, 123);
178178

179179
ResetTimer();
180180
Assert.Throws<TimeoutException>(() => k.WaitForValue(TimingInterval));

projects/Unit/TestSharedQueue.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public TimeSpan ElapsedMs()
131131
public void TestBgLong()
132132
{
133133
var q = new SharedQueue();
134-
EnqueueAfter(TimingInterval*2, q, 123);
134+
EnqueueAfter(TimingInterval_2X, q, 123);
135135

136136
ResetTimer();
137137
bool r = q.Dequeue(TimingInterval, out object v);
@@ -147,7 +147,7 @@ public void TestBgShort()
147147
EnqueueAfter(TimingInterval, q, 123);
148148

149149
ResetTimer();
150-
bool r = q.Dequeue(TimingInterval * 2, out object v);
150+
bool r = q.Dequeue(TimingInterval_2X, out object v);
151151
Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
152152
Assert.IsTrue(r);
153153
Assert.AreEqual(123, v);
@@ -237,20 +237,20 @@ public void TestDoubleBg()
237237
{
238238
var q = new SharedQueue();
239239
EnqueueAfter(TimingInterval, q, 123);
240-
EnqueueAfter(TimingInterval*2, q, 234);
240+
EnqueueAfter(TimingInterval_2X, q, 234);
241241

242242
ResetTimer();
243243
bool r;
244244

245-
r = q.Dequeue(TimingInterval * 2, out object v);
245+
r = q.Dequeue(TimingInterval_2X, out object v);
246246
Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
247247
Assert.Greater(TimingInterval + SafetyMargin, ElapsedMs());
248248
Assert.IsTrue(r);
249249
Assert.AreEqual(123, v);
250250

251-
r = q.Dequeue(TimingInterval * 2, out v);
252-
Assert.Less(TimingInterval*2 - SafetyMargin, ElapsedMs());
253-
Assert.Greater(TimingInterval*2 + SafetyMargin, ElapsedMs());
251+
r = q.Dequeue(TimingInterval_2X, out v);
252+
Assert.Less(TimingInterval_2X - SafetyMargin, ElapsedMs());
253+
Assert.Greater(TimingInterval_2X + SafetyMargin, ElapsedMs());
254254
Assert.IsTrue(r);
255255
Assert.AreEqual(234, v);
256256
}
@@ -259,7 +259,7 @@ public void TestDoubleBg()
259259
public void TestDoublePoll()
260260
{
261261
var q = new SharedQueue();
262-
EnqueueAfter(TimingInterval*2, q, 123);
262+
EnqueueAfter(TimingInterval_2X, q, 123);
263263

264264
ResetTimer();
265265
bool r;
@@ -270,9 +270,9 @@ public void TestDoublePoll()
270270
Assert.IsTrue(!r);
271271
Assert.AreEqual(null, v);
272272

273-
r = q.Dequeue(TimingInterval * 2, out v);
274-
Assert.Less(TimingInterval*2 - SafetyMargin, ElapsedMs());
275-
Assert.Greater(TimingInterval*2 + SafetyMargin, ElapsedMs());
273+
r = q.Dequeue(TimingInterval_2X, out v);
274+
Assert.Less(TimingInterval_2X - SafetyMargin, ElapsedMs());
275+
Assert.Greater(TimingInterval_2X + SafetyMargin, ElapsedMs());
276276
Assert.IsTrue(r);
277277
Assert.AreEqual(123, v);
278278
}

projects/Unit/Unit.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
55
<AssemblyOriginatorKeyFile>../rabbit.snk</AssemblyOriginatorKeyFile>
66
<SignAssembly>true</SignAssembly>
77
</PropertyGroup>
@@ -13,6 +13,7 @@
1313
<ItemGroup>
1414
<PackageReference Include="ApprovalTests" Version="4.5.2" />
1515
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
16+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" />
1617
<PackageReference Include="NUnit" Version="3.12.0" />
1718
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
1819
<PackageReference Include="PublicApiGenerator" Version="10.0.2" />

run-test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ fi
1313

1414
cd "$script_dir"
1515

16-
dotnet test --no-build --logger 'console;verbosity=detailed' ./RabbitMQDotNetClient.sln < /dev/null
16+
dotnet test --no-build --logger 'console;verbosity=detailed' --framework 'netcoreapp3.1' ./RabbitMQDotNetClient.sln < /dev/null

0 commit comments

Comments
 (0)