Skip to content

WIP

9ebf34c
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

new checksum store logic for consitency check #158

WIP
9ebf34c
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Report succeeded Apr 14, 2026 in 1s

Test Report ✔️

Tests passed successfully

✔️ tests/Backdash.Tests/TestResults/test_result.xml

405 tests were completed in 8s with 403 passed, 0 failed and 2 skipped.

Test suite Passed Failed Skipped Time
Backdash.Tests.Specs.Integration.Network.PeerClientTests 2✔️ 2✖️ 75ms
Backdash.Tests.Specs.Unit.Core.MathITests 5✔️ 45ms
Backdash.Tests.Specs.Unit.Data.ByteSizeJsonSerializationTests 2✔️ 11ms
Backdash.Tests.Specs.Unit.Data.CircularBufferJsonSerializationTests 2✔️ 129ms
Backdash.Tests.Specs.Unit.Data.CircularBufferTests 41✔️ 74ms
Backdash.Tests.Specs.Unit.Data.FrameJsonSerializationTests 2✔️ 18ms
Backdash.Tests.Specs.Unit.Data.FrameRangeJsonSerializationTests 2✔️ 23ms
Backdash.Tests.Specs.Unit.Data.FrameSpanJsonSerializationTests 2✔️ 12ms
Backdash.Tests.Specs.Unit.Network.MessageSerializationTests 10✔️ 200ms
Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolInputBufferTests 5✔️ 328ms
Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolMessageTests 1✔️ 399ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests 27✔️ 557ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests+CastingAsTests 10✔️ 128ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues 28✔️ 106ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+BinaryIntegerTests 10✔️ 39ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+CastingAsTests 10✔️ 88ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+NullableRefTests 27✔️ 209ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests 28✔️ 369ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests+CastingAsTests 10✔️ 140ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests 38✔️ 158ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+BinaryIntegerTests 10✔️ 27ms
Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+CastingAsTests 10✔️ 71ms
Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteSpanTests 15✔️ 214ms
Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests 26✔️ 96ms
Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests+ReadWriteBinaryIntegerTests 8✔️ 31ms
Backdash.Tests.Specs.Unit.Serialization.CheckSumTests 2✔️ 550ms
Backdash.Tests.Specs.Unit.Serialization.Encoding.DeltaXorRleTests 2✔️ 25ms
Backdash.Tests.Specs.Unit.Serialization.GeneratorTests 1✔️ 15ms
Backdash.Tests.Specs.Unit.Serialization.PadInputsSerializerTest 1✔️ 6ms
Backdash.Tests.Specs.Unit.Serialization.SerializersTests 28✔️ 250ms
Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerBigEndianTests 10✔️ 193ms
Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerLittleEndianTests 10✔️ 201ms
Backdash.Tests.Specs.Unit.Sync.Input.ConfirmedInputsTests 1✔️ 46ms
Backdash.Tests.Specs.Unit.Sync.Input.DeterministicRandomTests 3✔️ 7ms
Backdash.Tests.Specs.Unit.Sync.Input.InputEncoderTests 5✔️ 52ms
Backdash.Tests.Specs.Unit.Sync.State.DefaultStateStoreTests 1✔️ 29ms
Backdash.Tests.Specs.Unit.Utils.JsonIPAddressConverterTests 4✔️ 4ms
Backdash.Tests.Specs.Unit.Utils.JsonIPEndpointConverterTests 4✔️ 49ms

✔️ Backdash.Tests.Specs.Integration.Network.PeerClientTests

✖️ ShouldProcessConcurrent
✔️ ShouldSend
✔️ ShouldSendAndReceive
✖️ ShouldSendReceiveBetween

✔️ Backdash.Tests.Specs.Unit.Core.MathITests

✔️ ShouldAvgArrayOfInt
✔️ ShouldRawSumArrayOfInt
✔️ ShouldRawSumArrayOfUInt
✔️ ShouldSumArrayOfInt
✔️ ShouldSumArrayOfUInt

✔️ Backdash.Tests.Specs.Unit.Data.ByteSizeJsonSerializationTests

✔️ ShouldDeserialize
✔️ ShouldSerialize

✔️ Backdash.Tests.Specs.Unit.Data.CircularBufferJsonSerializationTests

✔️ ShouldDeserialize
✔️ ShouldSerialize

✔️ Backdash.Tests.Specs.Unit.Data.CircularBufferTests

✔️ ShouldAddNewItemAfterGetResetSpan
✔️ ShouldAddOneItem
✔️ ShouldAddOneMultipleItems
✔️ ShouldAddTwoItems
✔️ ShouldAdvance
✔️ ShouldAdvanceLast
✔️ ShouldAdvanceMany
✔️ ShouldAdvanceManyLast
✔️ ShouldAdvanceNegative
✔️ ShouldAdvanceNegativeMany
✔️ ShouldBeEqualByValues
✔️ ShouldCopyToLargeSpan
✔️ ShouldCopyToSpan
✔️ ShouldCopyToThrowWhenShortSpan
✔️ ShouldDiscardAll
✔️ ShouldDiscardLastItems
✔️ ShouldDiscardMany
✔️ ShouldDropOneItem
✔️ ShouldGetSpanAfterDrop
✔️ ShouldGetSpanAfterFullReplace
✔️ ShouldGetSpanAfterFullReplacePlusOne
✔️ ShouldGetSpanAfterReplace
✔️ ShouldGetSpanAndResetValues
✔️ ShouldGetSpanAndResetZero
✔️ ShouldGetSpanLinearFull
✔️ ShouldGetSpanLinearWithSpace
✔️ ShouldHardClearBuffer
✔️ ShouldHaveSameHashCode
✔️ ShouldHaveToString
✔️ ShouldNotOverrideDrop
✔️ ShouldPeekLast
✔️ ShouldPushDropFirstItemWhenFull
✔️ ShouldPushDropFirstTwoItemsWhenFull
✔️ ShouldReplaceAllValuesWhenFull
✔️ ShouldReplaceAlmostAllValuesWhenFull
✔️ ShouldSoftClearBuffer
✔️ ShouldStartEmpty
✔️ ShouldThrownWhenPopEmptyBuffer
✔️ ShouldTryPopBuffer
✔️ ShouldTryPopEmptyBuffer
✔️ ShouldUnsafePeekLast

✔️ Backdash.Tests.Specs.Unit.Data.FrameJsonSerializationTests

✔️ ShouldDeserialize
✔️ ShouldSerialize

✔️ Backdash.Tests.Specs.Unit.Data.FrameRangeJsonSerializationTests

✔️ ShouldDeserialize
✔️ ShouldSerialize

✔️ Backdash.Tests.Specs.Unit.Data.FrameSpanJsonSerializationTests

✔️ ShouldDeserialize
✔️ ShouldSerialize

✔️ Backdash.Tests.Specs.Unit.Network.MessageSerializationTests

✔️ ConnectStatusSerialize
✔️ ConsistencyCheckReplySerialize
✔️ ConsistencyCheckRequestSerialize
✔️ HeaderSerialize
✔️ InputAckSerialize
✔️ InputMsgSerialize
✔️ QualityReplySerialize
✔️ QualityReportSerialize
✔️ SyncReplySerialize
✔️ SyncRequestSerialize

✔️ Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolInputBufferTests

✔️ ShouldCompressMultipleBufferedInputs
✔️ ShouldHandleWhenMaxInputSizeReached
✔️ ShouldSendSingleInput
✔️ ShouldSkipAckedInputs
✔️ ValidateTestSampleSerialization

✔️ Backdash.Tests.Specs.Unit.Network.Protocol.ProtocolMessageTests

✔️ SerializationAndDeserialization

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests

✔️ CircularBufferOfSerializableObjects
✔️ ListOfBooleans
✔️ ListOfByte
✔️ ListOfChars
✔️ ListOfDateOnly
✔️ ListOfDateTime
✔️ ListOfDateTimeOffset
✔️ ListOfFrame
✔️ ListOfGuids
✔️ ListOfInt
✔️ ListOfInt128
✔️ ListOfLong
✔️ ListOfSByte
✔️ ListOfSerializableClass
✔️ ListOfSerializableStruct
✔️ ListOfShort
✔️ ListOfTimeOnly
✔️ ListOfTimeSpans
✔️ ListOfUInt
✔️ ListOfUInt128
✔️ ListOfULong
✔️ ListOfUnmanagedStruct
✔️ ListOfUShort
✔️ ListOfUtf8Char
✔️ ShouldRentClassFromPoolWhenExpandEmptyList
✔️ ShouldRentedClassFromPoolWhenExpandInitializedList
✔️ ShouldReturnRentedClassFromPoolWhenExpandInitializedList

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteListTests+CastingAsTests

✔️ ListOfByte
✔️ ListOfInt128
✔️ ListOfInt16
✔️ ListOfInt32
✔️ ListOfInt64
✔️ ListOfSByte
✔️ ListOfUInt128
✔️ ListOfUInt16
✔️ ListOfUInt32
✔️ ListOfUInt64

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues

✔️ SerializableValueType
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+BinaryIntegerTests

✔️ TestByte
✔️ TestInt
✔️ TestInt128
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestUInt128
✔️ TestULong
✔️ TestUShort

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+CastingAsTests

✔️ TestByte
✔️ TestInt128
✔️ TestInt16
✔️ TestInt32
✔️ TestInt64
✔️ TestSByte
✔️ TestUInt128
✔️ TestUInt16
✔️ TestUInt32
✔️ TestUInt64

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteNullableValues+NullableRefTests

✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests

✔️ SpanOfBooleans
✔️ SpanOfByte
✔️ SpanOfChars
✔️ SpanOfDateOnly
✔️ SpanOfDateTime
✔️ SpanOfDateTimeOffset
✔️ SpanOfDouble
✔️ SpanOfFloat
✔️ SpanOfFrame
✔️ SpanOfGuids
✔️ SpanOfHalf
✔️ SpanOfInt
✔️ SpanOfInt128
✔️ SpanOfLong
✔️ SpanOfSByte
✔️ SpanOfSerializableObjects
✔️ SpanOfShort
✔️ SpanOfTimeOnly
✔️ SpanOfTimeSpans
✔️ SpanOfUInt
✔️ SpanOfUInt128
✔️ SpanOfULong
✔️ SpanOfUnmanagedStruct
✔️ SpanOfUShort
✔️ SpanOfUtf8
✔️ SpanOfUtf8Bytes
✔️ String
✔️ StringBuilder

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteSpanTests+CastingAsTests

✔️ SpanOfByte
✔️ SpanOfInt128
✔️ SpanOfInt16
✔️ SpanOfInt32
✔️ SpanOfInt64
✔️ SpanOfSByte
✔️ SpanOfUInt128
✔️ SpanOfUInt16
✔️ SpanOfUInt32
✔️ SpanOfUInt64

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests

✔️ SerializableNullableObject
✔️ SerializableNullableObjectShouldUsePool
✔️ SerializableNullableObjectToNullRef
✔️ SerializableNullableObjectToObject
✔️ SerializableObject
✔️ SerializableValueType
✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestQuaternionRef
✔️ TestSByte
✔️ TestShort
✔️ TestTimeOnly
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector2Ref
✔️ TestVector3
✔️ TestVector3Ref
✔️ TestVector4
✔️ TestVector4Ref
✔️ UnmanagedStruct
✔️ UnmanagedStructRef

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+BinaryIntegerTests

✔️ TestByte
✔️ TestInt
✔️ TestInt128
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestUInt128
✔️ TestULong
✔️ TestUShort

✔️ Backdash.Tests.Specs.Unit.Serialization.BinaryBufferReadWriteValueTests+CastingAsTests

✔️ TestByte
✔️ TestInt128
✔️ TestInt16
✔️ TestInt32
✔️ TestInt64
✔️ TestSByte
✔️ TestUInt128
✔️ TestUInt16
✔️ TestUInt32
✔️ TestUInt64

✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteSpanTests

✔️ SpanOBooleans
✔️ SpanOfByte
✔️ SpanOfChars
✔️ SpanOfInt
✔️ SpanOfInt128
✔️ SpanOfLong
✔️ SpanOfSByte
✔️ SpanOfShort
✔️ SpanOfUInt
✔️ SpanOfUInt128
✔️ SpanOfULong
✔️ SpanOfUnmanagedStruct
✔️ SpanOfUShort
✔️ SpanOfUtf8
✔️ SpanOfUtf8Bytes

✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests

✔️ TestBool
✔️ TestByte
✔️ TestChar
✔️ TestDateOnly
✔️ TestDateTime
✔️ TestDateTimeOffset
✔️ TestDouble
✔️ TestFloat
✔️ TestFrame
✔️ TestGuid
✔️ TestHalf
✔️ TestInt
✔️ TestInt128
✔️ TestIntU128
✔️ TestLong
✔️ TestQuaternion
✔️ TestSByte
✔️ TestShort
✔️ TestTimeSpan
✔️ TestUInt
✔️ TestULong
✔️ TestUShort
✔️ TestVector2
✔️ TestVector3
✔️ TestVector4
✔️ UnmanagedStruct

✔️ Backdash.Tests.Specs.Unit.Serialization.BinarySpanReadWriteValueTests+ReadWriteBinaryIntegerTests

✔️ TestByte
✔️ TestInt
✔️ TestLong
✔️ TestSByte
✔️ TestShort
✔️ TestUInt
✔️ TestULong
✔️ TestUShort

✔️ Backdash.Tests.Specs.Unit.Serialization.CheckSumTests

✔️ ShouldCalculateOddBytesPaddingZero
✔️ TestOddByteArray

✔️ Backdash.Tests.Specs.Unit.Serialization.Encoding.DeltaXorRleTests

✔️ ShouldCompressAndDecompressSample
✔️ ShouldCompressedBeLessThenUncompressed

✔️ Backdash.Tests.Specs.Unit.Serialization.GeneratorTests

✔️ ShouldSerializeDeserialize

✔️ Backdash.Tests.Specs.Unit.Serialization.PadInputsSerializerTest

✔️ ShouldSerializeAndDeserialize

✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests

✔️ AssertSerializerByte
✔️ AssertSerializerByteEnum
✔️ AssertSerializerInt
✔️ AssertSerializerInt128
✔️ AssertSerializerIntEnum
✔️ AssertSerializerLong
✔️ AssertSerializerLongEnum
✔️ AssertSerializerSByte
✔️ AssertSerializerSByteEnum
✔️ AssertSerializerShort
✔️ AssertSerializerShortEnum
✔️ AssertSerializerUInt
✔️ AssertSerializerUInt128
✔️ AssertSerializerUIntEnum
✔️ AssertSerializerULong
✔️ AssertSerializerULongEnum
✔️ AssertSerializerUShort
✔️ AssertSerializerUShortEnum
✔️ ShouldReturnCorrectSerializerForStruct
✔️ ShouldSerializeByteEnum
✔️ ShouldSerializeIntEnum
✔️ ShouldSerializeLongEnum
✔️ ShouldSerializeSByteEnum
✔️ ShouldSerializeShortEnum
✔️ ShouldSerializeSimpleStruct
✔️ ShouldSerializeUIntEnum
✔️ ShouldSerializeULongEnum
✔️ ShouldSerializeUShortEnum

✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerBigEndianTests

✔️ ShouldSerializeByte
✔️ ShouldSerializeInt
✔️ ShouldSerializeInt128
✔️ ShouldSerializeIntU128
✔️ ShouldSerializeLong
✔️ ShouldSerializeSByte
✔️ ShouldSerializeShort
✔️ ShouldSerializeUInt
✔️ ShouldSerializeULong
✔️ ShouldSerializeUShort

✔️ Backdash.Tests.Specs.Unit.Serialization.SerializersTests+SerializeIntegerLittleEndianTests

✔️ ShouldSerializeByte
✔️ ShouldSerializeInt
✔️ ShouldSerializeInt128
✔️ ShouldSerializeIntU128
✔️ ShouldSerializeLong
✔️ ShouldSerializeSByte
✔️ ShouldSerializeShort
✔️ ShouldSerializeUInt
✔️ ShouldSerializeULong
✔️ ShouldSerializeUShort

✔️ Backdash.Tests.Specs.Unit.Sync.Input.ConfirmedInputsTests

✔️ ShouldSerializeAndDeserializeGroupSamples

✔️ Backdash.Tests.Specs.Unit.Sync.Input.DeterministicRandomTests

✔️ ShouldBeDeterministic
✔️ ShouldBeReturnEqualValuesInOrder
✔️ ShouldExtraStateSeedChangeTheResult

✔️ Backdash.Tests.Specs.Unit.Sync.Input.InputEncoderTests

✔️ CompressEmpty
✔️ ShouldCompressAndDecompress
✔️ ShouldCompressAndDecompressSample
✔️ ShouldCompressAndDecompressSample2
✔️ ShouldCompressAndDecompressSampleSkippingFrames

✔️ Backdash.Tests.Specs.Unit.Sync.State.DefaultStateStoreTests

✔️ ShouldInitializeCorrectly

✔️ Backdash.Tests.Specs.Unit.Utils.JsonIPAddressConverterTests

✔️ ShouldParseIPv4
✔️ ShouldParseIPv6
✔️ ShouldSerializeIPv4
✔️ ShouldSerializeIPv6

✔️ Backdash.Tests.Specs.Unit.Utils.JsonIPEndpointConverterTests

✔️ ShouldParseIPv4
✔️ ShouldParseIPv6
✔️ ShouldSerializeIPv4
✔️ ShouldSerializeIPv6