Skip to content

Commit bb47931

Browse files
committed
Migrate mscorlib to v2
- Update pipeline configs and helpers. - Update references. - Bump versions. - Update nuspec. - Migrate to Span<byte>. - Migrate several test framewok APIs to replace deprecated calls.
1 parent 241ba8d commit bb47931

15 files changed

+127
-96
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright (c) .NET Foundation and Contributors
2+
# See LICENSE file in the project root for full license information.
3+
4+
# This workflow will periodically check .NET nanoFramework dependencies and updates them in the repository it's running.
5+
6+
name: Daily update dependencies (develop)
7+
8+
on:
9+
schedule:
10+
# At 00:30 UTC.
11+
- cron: '30 00 * * Mon,Thu'
12+
repository_dispatch:
13+
types: update-dependencies
14+
15+
jobs:
16+
update-dependencies:
17+
name: nanoFramework
18+
uses: nanoframework/nf-tools/.github/workflows/update-dependencies.yml@main
19+
secrets: inherit
20+
with:
21+
solutionsToCheck: 'nanoFramework.System.IO.Ports.sln'
22+
previewPackages: true
23+
branchToPr: 'develop'
24+

System.IO.Ports/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
////////////////////////////////////////////////////////////////
1616
// update this whenever the native assembly signature changes //
17-
[assembly: AssemblyNativeVersion("100.1.6.1")]
17+
[assembly: AssemblyNativeVersion("100.2.0.0")]
1818
////////////////////////////////////////////////////////////////
1919

2020
// Setting ComVisible to false makes the types in this assembly not visible

System.IO.Ports/SerialDeviceController.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal static class SerialDeviceController
1616
private static object _syncLock;
1717

1818
// backing field for DeviceCollection
19-
private static ArrayList s_deviceCollection;
19+
private static ArrayList _deviceCollection;
2020

2121
/// <summary>
2222
/// Gets or sets the device collection associated with this <see cref="SerialDeviceController"/>.
@@ -28,7 +28,7 @@ internal static ArrayList DeviceCollection
2828
{
2929
get
3030
{
31-
if (s_deviceCollection == null)
31+
if (_deviceCollection == null)
3232
{
3333
if (_syncLock == null)
3434
{
@@ -37,19 +37,19 @@ internal static ArrayList DeviceCollection
3737

3838
lock (_syncLock)
3939
{
40-
if (s_deviceCollection == null)
40+
if (_deviceCollection == null)
4141
{
42-
s_deviceCollection = new ArrayList();
42+
_deviceCollection = new ArrayList();
4343
}
4444
}
4545
}
4646

47-
return s_deviceCollection;
47+
return _deviceCollection;
4848
}
4949

5050
set
5151
{
52-
s_deviceCollection = value;
52+
_deviceCollection = value;
5353
}
5454
}
5555
}

System.IO.Ports/SerialStream.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public override int Read(byte[] buffer, int offset, int count)
3434
return _serial.Read(buffer, offset, count);
3535
}
3636

37-
public override int Read(SpanByte buffer)
37+
public override int Read(Span<byte> buffer)
3838
{
3939
throw new NotImplementedException();
4040
}

System.IO.Ports/System.IO.Ports.nfproj

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,22 @@
6060
<None Include="packages.config" />
6161
</ItemGroup>
6262
<ItemGroup>
63-
<Reference Include="mscorlib, Version=1.17.7.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
64-
<HintPath>..\packages\nanoFramework.CoreLibrary.1.17.7\lib\mscorlib.dll</HintPath>
63+
<Reference Include="mscorlib">
64+
<HintPath>..\packages\nanoFramework.CoreLibrary.2.0.0-preview.29\lib\netnano1.0\mscorlib.dll</HintPath>
6565
</Reference>
66-
<Reference Include="nanoFramework.Runtime.Events, Version=1.11.31.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
67-
<HintPath>..\packages\nanoFramework.Runtime.Events.1.11.31\lib\nanoFramework.Runtime.Events.dll</HintPath>
66+
<Reference Include="nanoFramework.Runtime.Events">
67+
<HintPath>..\packages\nanoFramework.Runtime.Events.2.0.0-preview.1\lib\nanoFramework.Runtime.Events.dll</HintPath>
6868
</Reference>
69-
<Reference Include="nanoFramework.System.Text, Version=1.3.36.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
70-
<HintPath>..\packages\nanoFramework.System.Text.1.3.36\lib\nanoFramework.System.Text.dll</HintPath>
69+
<Reference Include="nanoFramework.System.Text">
70+
<HintPath>..\packages\nanoFramework.System.Text.2.0.0-preview.1\lib\nanoFramework.System.Text.dll</HintPath>
7171
</Reference>
72-
<Reference Include="System.IO.Streams, Version=1.1.91.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
73-
<HintPath>..\packages\nanoFramework.System.IO.Streams.1.1.91\lib\System.IO.Streams.dll</HintPath>
72+
<Reference Include="System.IO.Streams">
73+
<HintPath>..\packages\nanoFramework.System.IO.Streams.2.0.0-preview.1\lib\System.IO.Streams.dll</HintPath>
7474
</Reference>
7575
</ItemGroup>
76+
<ItemGroup>
77+
<Content Include="packages.lock.json" />
78+
</ItemGroup>
7679
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
7780
<ProjectExtensions>
7881
<ProjectCapabilities>

System.IO.Ports/packages.config

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="nanoFramework.CoreLibrary" version="1.17.7" targetFramework="netnano1.0" />
4-
<package id="nanoFramework.Runtime.Events" version="1.11.31" targetFramework="netnano1.0" />
5-
<package id="nanoFramework.System.IO.Streams" version="1.1.91" targetFramework="netnano1.0" />
6-
<package id="nanoFramework.System.Text" version="1.3.36" targetFramework="netnano1.0" />
3+
<package id="nanoFramework.CoreLibrary" version="2.0.0-preview.29" targetFramework="netnano1.0" />
4+
<package id="nanoFramework.Runtime.Events" version="2.0.0-preview.1" targetFramework="netnano1.0" />
5+
<package id="nanoFramework.System.IO.Streams" version="2.0.0-preview.1" targetFramework="netnano1.0" />
6+
<package id="nanoFramework.System.Text" version="2.0.0-preview.1" targetFramework="netnano1.0" />
77
<package id="Nerdbank.GitVersioning" version="3.7.115" developmentDependency="true" targetFramework="netnano1.0" />
88
<package id="StyleCop.MSBuild" version="6.2.0" targetFramework="netnano1.0" developmentDependency="true" />
99
</packages>

System.IO.Ports/packages.lock.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,27 @@
44
".NETnanoFramework,Version=v1.0": {
55
"nanoFramework.CoreLibrary": {
66
"type": "Direct",
7-
"requested": "[1.17.7, 1.17.7]",
8-
"resolved": "1.17.7",
9-
"contentHash": "LbP1JJXV5g9cSxb4TgWBIFHXtW6fpKHy/FcylOHAn8WAh/smkyWRrwzEj4784QvScNi/b07zn+A5/JpmDvLc1A=="
7+
"requested": "[2.0.0-preview.29, 2.0.0-preview.29]",
8+
"resolved": "2.0.0-preview.29",
9+
"contentHash": "7NDp9Sda9FTFBDN//X34r23rJBHUkCvyGvrFh9s5B8H2nMoet4J0OlEOiZRUsEPBXlsNpZFVp+Cd6OSjnLSg5A=="
1010
},
1111
"nanoFramework.Runtime.Events": {
1212
"type": "Direct",
13-
"requested": "[1.11.31, 1.11.31]",
14-
"resolved": "1.11.31",
15-
"contentHash": "VvrHqbBRh3AF6iNW/ZDyFRGMkpz1P6GLvqpU187t1l0Ejhdsisf5VLL2grwqbd62mBeW3MGJLn5OZKJ55jlnqg=="
13+
"requested": "[2.0.0-preview.1, 2.0.0-preview.1]",
14+
"resolved": "2.0.0-preview.1",
15+
"contentHash": "MrhfHe/2pDKkXe79+L/tX4rg+lV6Z+HkcJBbjUQx2oHOwYgh74kEli8I7KnOv00rwaIPuj2BeYeW6jh6kxOZXg=="
1616
},
1717
"nanoFramework.System.IO.Streams": {
1818
"type": "Direct",
19-
"requested": "[1.1.91, 1.1.91]",
20-
"resolved": "1.1.91",
21-
"contentHash": "YMKF7vsxJp95Mz6c5gBBY4AVnOg1r6doE94qblojeufSZAS/M5JuDoCY8KHQmMjSghachsKhrhfv6RHmhM7HCg=="
19+
"requested": "[2.0.0-preview.1, 2.0.0-preview.1]",
20+
"resolved": "2.0.0-preview.1",
21+
"contentHash": "JCLDrlrh5hbmL6nlYIY+eWGvyJwN7NgU6lHJfxQ8IhDLw/B08k+iAo/KLXLB2n1bAb4b0zhGeLlJ0P1xZUyDeg=="
2222
},
2323
"nanoFramework.System.Text": {
2424
"type": "Direct",
25-
"requested": "[1.3.36, 1.3.36]",
26-
"resolved": "1.3.36",
27-
"contentHash": "qO0BrmYX4+iV5MSVSIIOSnyPx9Odvgb5Y9hGDWgUCQUGrPG32WPq6YGhTQMK2UIIu3yfB9Nsu2hPhjVSpFYMMA=="
25+
"requested": "[2.0.0-preview.1, 2.0.0-preview.1]",
26+
"resolved": "2.0.0-preview.1",
27+
"contentHash": "+FZMSc0QPp6GbU63WXCmryKtd/zEkmH51daIV3UIV3t9CUHSg8sK7rkASVrlQ7kGYbgQl02IDbIB/r1hIK1MLw=="
2828
},
2929
"Nerdbank.GitVersioning": {
3030
"type": "Direct",

Tests/UnitTestsSerialPort/SerialTests.cs

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public void BasicReadWriteTests()
9191
// Assert
9292
for (int i = 0; i < toSend.Length; i++)
9393
{
94-
Assert.Equal(toSend[i], toReceive[i]);
94+
Assert.AreEqual(toSend[i], toReceive[i]);
9595
}
9696
}
9797

@@ -109,7 +109,7 @@ public void VerifyDefaultReadLineCharacter()
109109
_serOne.Write(toSend);
110110
string toReceive = _serTwo.ReadLine();
111111
// Assert
112-
Assert.Equal(toSend, toReceive + "\\r" + _serOne.NewLine);
112+
Assert.AreEqual(toSend, toReceive + "\\r" + _serOne.NewLine);
113113
}
114114

115115
[TestMethod]
@@ -126,7 +126,7 @@ public void WriteAndReadStringTests()
126126
_serOne.WriteLine(toSend);
127127
string toReceive = _serTwo.ReadLine();
128128
// Assert
129-
Assert.Equal(toSend + _serOne.NewLine, toReceive);
129+
Assert.AreEqual(toSend + _serOne.NewLine, toReceive);
130130
}
131131

132132
[TestMethod]
@@ -143,11 +143,11 @@ public void ReadMultipleLinesTests()
143143
_serOne.WriteLine(toSend);
144144
string toReceive = _serTwo.ReadLine();
145145
// Assert
146-
Assert.Equal($"Hi, this is a simple test with string{_serOne.NewLine}", toReceive);
146+
Assert.AreEqual($"Hi, this is a simple test with string{_serOne.NewLine}", toReceive);
147147
toReceive = _serTwo.ReadLine();
148-
Assert.Equal($"And with a second line{_serOne.NewLine}", toReceive);
148+
Assert.AreEqual($"And with a second line{_serOne.NewLine}", toReceive);
149149
toReceive = _serTwo.ReadLine();
150-
Assert.Equal($"Only line by line should be read{_serOne.NewLine}", toReceive);
150+
Assert.AreEqual($"Only line by line should be read{_serOne.NewLine}", toReceive);
151151
}
152152

153153
[TestMethod]
@@ -164,17 +164,17 @@ public void CheckReadByteSize()
164164
// Wait a bit to have data sent
165165
Thread.Sleep(100);
166166
// Assert
167-
Assert.Equal(enc, _serTwo.BytesToRead);
167+
Assert.AreEqual(enc, _serTwo.BytesToRead);
168168
// Read remaining
169169
string sent = _serTwo.ReadExisting();
170-
Assert.Equal(toSend, sent);
170+
Assert.AreEqual(toSend, sent);
171171
}
172172

173173
[TestMethod]
174174
public void CheckReadLineWithoutAnything()
175175
{
176176
long dtOrigine = DateTime.UtcNow.Ticks;
177-
Assert.Throws(typeof(TimeoutException), () =>
177+
Assert.ThrowsException(typeof(TimeoutException), () =>
178178
{
179179
// Arrange
180180
EnsurePortsOpen();
@@ -185,14 +185,15 @@ public void CheckReadLineWithoutAnything()
185185
var nothingToRead = _serTwo.ReadLine();
186186
// Assert
187187
});
188+
188189
long dtTimeout = DateTime.UtcNow.Ticks;
189-
Assert.True(dtTimeout >= dtOrigine + _serTwo.ReadTimeout * TimeSpan.TicksPerMillisecond);
190+
Assert.IsTrue(dtTimeout >= dtOrigine + _serTwo.ReadTimeout * TimeSpan.TicksPerMillisecond);
190191
}
191192

192193
[TestMethod]
193194
public void CheckReadTimeoutTest()
194195
{
195-
Assert.Throws(typeof(TimeoutException), () =>
196+
Assert.ThrowsException(typeof(TimeoutException), () =>
196197
{
197198
// Arrange
198199
EnsurePortsOpen();
@@ -225,7 +226,7 @@ public void ReadByteWriteByteTests()
225226
Thread.Sleep(100);
226227
toRead = (byte)_serTwo.ReadByte();
227228
// Assert
228-
Assert.Equal(toWrite[1], toRead);
229+
Assert.AreEqual(toWrite[1], toRead);
229230
}
230231

231232
[TestMethod]
@@ -248,19 +249,19 @@ public void CheckBytesAvailableTest()
248249
// Clean
249250
EnsurePortEmpty(_serTwo);
250251
// Assert
251-
Assert.Equal(lotsOfBytes.Length, numBytes);
252+
Assert.AreEqual(lotsOfBytes.Length, numBytes);
252253
}
253254

254255
[TestMethod]
255256
public void TryReadWriteWhileClosed()
256257
{
257258
EnsurePortsClosed();
258-
Assert.Throws(typeof(InvalidOperationException), () =>
259+
Assert.ThrowsException(typeof(InvalidOperationException), () =>
259260
{
260261
_serOne.Write("Something");
261262
});
262263

263-
Assert.Throws(typeof(InvalidOperationException), () =>
264+
Assert.ThrowsException(typeof(InvalidOperationException), () =>
264265
{
265266
byte[] something = new byte[5];
266267
_serOne.Read(something, 0, something.Length);
@@ -312,7 +313,7 @@ public void TestStreams()
312313
// Assert
313314
for (int i = 0; i < toSend.Length; i++)
314315
{
315-
Assert.Equal(toSend[i], toReceive[i]);
316+
Assert.AreEqual(toSend[i], toReceive[i]);
316317
}
317318
}
318319

@@ -340,8 +341,8 @@ private void DataReceivedNormalEventTest(object sender, SerialDataReceivedEventA
340341
{
341342
var ser = (SerialPort)sender;
342343
Debug.WriteLine($"Event fired, number of bytes ready to read: {ser.BytesToRead}");
343-
Assert.Equal(8, ser.BytesToRead);
344-
Assert.True(e.EventType == SerialData.Chars);
344+
Assert.AreEqual(8, ser.BytesToRead);
345+
Assert.IsTrue(e.EventType == SerialData.Chars);
345346
}
346347

347348
[TestMethod]
@@ -368,7 +369,7 @@ private void DataReceivedWatchChar(object sender, SerialDataReceivedEventArgs e)
368369
{
369370
var ser = (SerialPort)sender;
370371
Debug.WriteLine($"Event fired, number of bytes ready to read: {ser.BytesToRead}");
371-
Assert.True(e.EventType == SerialData.WatchChar);
372+
Assert.IsTrue(e.EventType == SerialData.WatchChar);
372373
}
373374

374375
private void SendAndReceiveBasic()
@@ -385,7 +386,7 @@ private void SendAndReceiveBasic()
385386
// Assert
386387
for (int i = 0; i < toSend.Length; i++)
387388
{
388-
Assert.Equal(toSend[i], toReceive[i]);
389+
Assert.AreEqual(toSend[i], toReceive[i]);
389390
}
390391
}
391392

Tests/UnitTestsSerialPort/UnitTestsSerialPort.nfproj

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,28 +40,31 @@
4040
<ProjectReference Include="..\..\System.IO.Ports\System.IO.Ports.nfproj" />
4141
</ItemGroup>
4242
<ItemGroup>
43-
<Reference Include="mscorlib, Version=1.17.7.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
44-
<HintPath>..\..\packages\nanoFramework.CoreLibrary.1.17.7\lib\mscorlib.dll</HintPath>
43+
<Reference Include="mscorlib">
44+
<HintPath>..\..\packages\nanoFramework.CoreLibrary.2.0.0-preview.29\lib\netnano1.0\mscorlib.dll</HintPath>
4545
</Reference>
46-
<Reference Include="nanoFramework.Hardware.Esp32, Version=1.6.33.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
47-
<HintPath>..\..\packages\nanoFramework.Hardware.Esp32.1.6.33\lib\nanoFramework.Hardware.Esp32.dll</HintPath>
46+
<Reference Include="nanoFramework.Hardware.Esp32">
47+
<HintPath>..\..\packages\nanoFramework.Hardware.Esp32.2.0.0-preview.1\lib\nanoFramework.Hardware.Esp32.dll</HintPath>
4848
</Reference>
49-
<Reference Include="nanoFramework.Runtime.Events, Version=1.11.31.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
50-
<HintPath>..\..\packages\nanoFramework.Runtime.Events.1.11.31\lib\nanoFramework.Runtime.Events.dll</HintPath>
49+
<Reference Include="nanoFramework.Runtime.Events">
50+
<HintPath>..\..\packages\nanoFramework.Runtime.Events.2.0.0-preview.1\lib\nanoFramework.Runtime.Events.dll</HintPath>
5151
</Reference>
52-
<Reference Include="nanoFramework.System.Text, Version=1.3.36.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
53-
<HintPath>..\..\packages\nanoFramework.System.Text.1.3.36\lib\nanoFramework.System.Text.dll</HintPath>
52+
<Reference Include="nanoFramework.System.Text">
53+
<HintPath>..\..\packages\nanoFramework.System.Text.2.0.0-preview.1\lib\nanoFramework.System.Text.dll</HintPath>
5454
</Reference>
55-
<Reference Include="nanoFramework.TestFramework, Version=3.0.69.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
56-
<HintPath>..\..\packages\nanoFramework.TestFramework.3.0.69\lib\nanoFramework.TestFramework.dll</HintPath>
55+
<Reference Include="nanoFramework.TestFramework">
56+
<HintPath>..\..\packages\nanoFramework.TestFramework.4.0.0-preview.45\lib\nanoFramework.TestFramework.dll</HintPath>
5757
</Reference>
58-
<Reference Include="nanoFramework.UnitTestLauncher, Version=0.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
59-
<HintPath>..\..\packages\nanoFramework.TestFramework.3.0.69\lib\nanoFramework.UnitTestLauncher.exe</HintPath>
58+
<Reference Include="nanoFramework.UnitTestLauncher">
59+
<HintPath>..\..\packages\nanoFramework.TestFramework.4.0.0-preview.45\lib\nanoFramework.UnitTestLauncher.exe</HintPath>
6060
</Reference>
61-
<Reference Include="System.IO.Streams, Version=1.1.91.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
62-
<HintPath>..\..\packages\nanoFramework.System.IO.Streams.1.1.91\lib\System.IO.Streams.dll</HintPath>
61+
<Reference Include="System.IO.Streams">
62+
<HintPath>..\..\packages\nanoFramework.System.IO.Streams.2.0.0-preview.1\lib\System.IO.Streams.dll</HintPath>
6363
</Reference>
6464
</ItemGroup>
65+
<ItemGroup>
66+
<Content Include="packages.lock.json" />
67+
</ItemGroup>
6568
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
6669
<!-- MANUAL UPDATE HERE -->
6770
<ProjectExtensions>
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="nanoFramework.CoreLibrary" version="1.17.7" targetFramework="netnano1.0" />
4-
<package id="nanoFramework.Hardware.Esp32" version="1.6.33" targetFramework="netnano1.0" />
5-
<package id="nanoFramework.Runtime.Events" version="1.11.31" targetFramework="netnano1.0" />
6-
<package id="nanoFramework.System.IO.Streams" version="1.1.91" targetFramework="netnano1.0" />
7-
<package id="nanoFramework.System.Text" version="1.3.36" targetFramework="netnano1.0" />
8-
<package id="nanoFramework.TestFramework" version="3.0.69" targetFramework="netnano1.0" developmentDependency="true" />
3+
<package id="nanoFramework.CoreLibrary" version="2.0.0-preview.29" targetFramework="netnano1.0" />
4+
<package id="nanoFramework.Hardware.Esp32" version="2.0.0-preview.1" targetFramework="netnano1.0" />
5+
<package id="nanoFramework.Runtime.Events" version="2.0.0-preview.1" targetFramework="netnano1.0" />
6+
<package id="nanoFramework.System.IO.Streams" version="2.0.0-preview.1" targetFramework="netnano1.0" />
7+
<package id="nanoFramework.System.Text" version="2.0.0-preview.1" targetFramework="netnano1.0" />
8+
<package id="nanoFramework.TestFramework" version="4.0.0-preview.45" targetFramework="netnano1.0" developmentDependency="true" />
99
</packages>

0 commit comments

Comments
 (0)