stratisproject / StratisBitcoinFullNode

Bitcoin full node in C#
https://stratisplatform.com
MIT License
787 stars 314 forks source link

Fix failing tests #418

Closed Aprogiena closed 6 years ago

Aprogiena commented 7 years ago

I run tests in default MSVS Test Explorer, tests are sorted by project. I right click on the project and click "Run Selected Tests" to execute whole group.

Stratis.Bitcoin.Features.RPC.Tests - some CanCall_* tests are failing, this seems to be due to parallel execution as later manual one-by-one reexecution passes.

Stratis.Bitcoin.IntegrationTests - I've got CheckRPCFailures failing consistently

If you have more, pls share

bokobza commented 7 years ago

On OSX, these tests seems to be failing regularly: SendTransactionWithoutMempoolValidatorProcessesTransactionAndBroadcastsTransactionToConnectionManagerNodes SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolSuccessProcessesTransaction SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolFailedDoesNotProcessesTransaction

 [xUnit.net 00:01:50.2787273]     SendTransactionWithoutMempoolValidatorProcessesTransactionAndBroadcastsTransactionToConnectionManagerNodes [FAIL]
[xUnit.net 00:01:50.2803525]       System.Net.Sockets.SocketException : No buffer space available
[xUnit.net 00:01:50.2816055]       Stack Trace:
[xUnit.net 00:01:50.2830783]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
[xUnit.net 00:01:50.2847001]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
[xUnit.net 00:01:50.2848033]            at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
[xUnit.net 00:01:50.2849277]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(667,0): at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters)
[xUnit.net 00:01:50.2850620]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(635,0): at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters)
[xUnit.net 00:01:50.2851963]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs(2011,0): at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithoutMempoolValidatorProcessesTransactionAndBroadcastsTransactionToConnectionManagerNodes()
Failed   SendTransactionWithoutMempoolValidatorProcessesTransactionAndBroadcastsTransactionToConnectionManagerNodes
Error Message:
 System.Net.Sockets.SocketException : No buffer space available
Stack Trace:
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
   at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
   at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 667
   at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 635
   at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithoutMempoolValidatorProcessesTransactionAndBroadcastsTransactionToConnectionManagerNodes() in /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs:line 2011

[xUnit.net 00:01:58.0507175]     SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolSuccessProcessesTransaction [FAIL]
[xUnit.net 00:01:58.0508606]       System.Net.Sockets.SocketException : No buffer space available
[xUnit.net 00:01:58.0509198]       Stack Trace:
[xUnit.net 00:01:58.0510272]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
[xUnit.net 00:01:58.0511472]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
[xUnit.net 00:01:58.0512396]            at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
[xUnit.net 00:01:58.0513390]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(667,0): at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters)
[xUnit.net 00:01:58.0514630]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(635,0): at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters)
[xUnit.net 00:01:58.0515934]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs(2121,0): at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolSuccessProcessesTransaction()
Failed   SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolSuccessProcessesTransaction
Error Message:
 System.Net.Sockets.SocketException : No buffer space available
Stack Trace:
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
   at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
   at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 667
   at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 635
   at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolSuccessProcessesTransaction() in /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs:line 2121

[xUnit.net 00:02:21.7454080]     SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolFailedDoesNotProcessesTransaction [FAIL]
[xUnit.net 00:02:21.7455597]       System.Net.Sockets.SocketException : No buffer space available
[xUnit.net 00:02:21.7456786]       Stack Trace:
[xUnit.net 00:02:21.7458960]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
[xUnit.net 00:02:21.7460374]            at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
[xUnit.net 00:02:21.7461410]            at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
[xUnit.net 00:02:21.7462558]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(667,0): at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters)
[xUnit.net 00:02:21.7463916]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs(635,0): at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters)
[xUnit.net 00:02:21.7465336]         /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs(2239,0): at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolFailedDoesNotProcessesTransaction()
Failed   SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolFailedDoesNotProcessesTransaction
Error Message:
 System.Net.Sockets.SocketException : No buffer space available
Stack Trace:
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean silent)
   at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Int32 optionValue)
   at System.Net.Sockets.Socket.set_ReceiveBufferSize(Int32 value)
   at NBitcoin.Protocol.Node..ctor(NetworkAddress peer, Network network, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 667
   at NBitcoin.Protocol.Node.Connect(Network network, IPEndPoint endpoint, NodeConnectionParameters parameters) in /Users/travis/build/stratisproject/StratisBitcoinFullNode/NStratis/NBitcoin/Protocol/Node.cs:line 635
   at Stratis.Bitcoin.Features.Wallet.Tests.WalletManagerTest.SendTransactionWithMempoolValidatorWithAcceptToMemoryPoolFailedDoesNotProcessesTransaction() in /Users/travis/build/stratisproject/StratisBitcoinFullNode/Stratis.Bitcoin.Features.Wallet.Tests/WalletManagerTest.cs:line 2239   
Aprogiena commented 6 years ago

Currently, more than a half of integration tests fails for me on local.

Aprogiena commented 6 years ago

After I applied the latest patch from Dan (not merged yet), the following tests failed for me (only tested once):

LoadWalletWithExistingWalletLoadsWalletOntoManager
MempoolReceiveFromManyNodes
CanStratisSyncFromStratis
WalletCanReorg
bokobza commented 6 years ago

I think we're good on these right now.