Fix projectmodel-server regression

1. Address the null reference exception when a project dependency is
broken.
2. Address the duplicate key issues after the logic of redirecting
System pacage to reference assembly was added

Update projectmodel-server and tests

1. Fix test timeout caused by undisconnected socket;
2. Update project model server
This commit is contained in:
Troy Dai 2016-01-29 01:49:56 -08:00
parent c4b3925e46
commit b9f2d8fe3d
12 changed files with 81 additions and 48 deletions

View file

@ -9,6 +9,7 @@ using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Xunit;
@ -29,18 +30,19 @@ namespace Microsoft.DotNet.ProjectModel.Server.Tests
// works in visual studio
private readonly Dictionary<string, int> _projectContexts = new Dictionary<string, int>();
private int _nextContextId;
private readonly Socket _socket;
public DthTestClient(DthTestServer server)
{
var socket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
_socket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
socket.Connect(new IPEndPoint(IPAddress.Loopback, server.Port));
_socket.Connect(new IPEndPoint(IPAddress.Loopback, server.Port));
_hostId = server.HostId;
_networkStream = new NetworkStream(socket);
_networkStream = new NetworkStream(_socket);
_reader = new BinaryReader(_networkStream);
_writer = new BinaryWriter(_networkStream);
@ -221,6 +223,7 @@ namespace Microsoft.DotNet.ProjectModel.Server.Tests
_writer.Dispose();
_networkStream.Dispose();
_readCancellationToken.Cancel();
_socket.Shutdown(SocketShutdown.Both);
}
private void ReadMessage(CancellationToken cancellationToken)