예제 #1
0
        public virtual void CommonUsagePerfTest()
        {
            int          NumRuns  = 5;
            DataChecksum checksum = DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32c, 512
                                                                 );
            int dataLength = 512 * 1024 * 1024;

            TestDataChecksum.Harness h = new TestDataChecksum.Harness(checksum, dataLength, true
                                                                      );
            for (int i = 0; i < NumRuns; i++)
            {
                StopWatch s = new StopWatch().Start();
                // calculate real checksum, make sure it passes
                checksum.CalculateChunkedSums(h.dataBuf, h.checksumBuf);
                s.Stop();
                System.Console.Error.WriteLine("Calculate run #" + i + ": " + s.Now(TimeUnit.Microseconds
                                                                                    ) + "us");
                s = new StopWatch().Start();
                // calculate real checksum, make sure it passes
                checksum.VerifyChunkedSums(h.dataBuf, h.checksumBuf, "fake file", 0);
                s.Stop();
                System.Console.Error.WriteLine("Verify run #" + i + ": " + s.Now(TimeUnit.Microseconds
                                                                                 ) + "us");
            }
        }
예제 #2
0
 public virtual void TestEquality()
 {
     Assert.Equal(DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32
                                               , 512), DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32, 512));
     NUnit.Framework.Assert.IsFalse(DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32
                                                                 , 512).Equals(DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32, 1024)));
     NUnit.Framework.Assert.IsFalse(DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32
                                                                 , 512).Equals(DataChecksum.NewDataChecksum(DataChecksum.Type.Crc32c, 512)));
 }
예제 #3
0
        public virtual void Setup()
        {
            Assume.AssumeTrue(NativeCrc32.IsAvailable());
            Assert.Equal("These tests assume they can write a checksum value as a 4-byte int."
                         , 4, checksumType.size);
            Configuration conf = new Configuration();

            bytesPerChecksum = conf.GetInt(IoBytesPerChecksumKey, IoBytesPerChecksumDefault);
            fileName         = this.GetType().Name;
            checksum         = DataChecksum.NewDataChecksum(checksumType, bytesPerChecksum);
        }
예제 #4
0
 public virtual void TestBulkOps()
 {
     foreach (DataChecksum.Type type in ChecksumTypes)
     {
         System.Console.Error.WriteLine("---- beginning tests with checksum type " + type
                                        + "----");
         DataChecksum checksum = DataChecksum.NewDataChecksum(type, BytesPerChunk);
         foreach (bool useDirect in new bool[] { false, true })
         {
             DoBulkTest(checksum, 1023, useDirect);
             DoBulkTest(checksum, 1024, useDirect);
             DoBulkTest(checksum, 1025, useDirect);
         }
     }
 }
예제 #5
0
 public virtual void TestToString()
 {
     Assert.Equal("DataChecksum(type=CRC32, chunkSize=512)", DataChecksum
                  .NewDataChecksum(DataChecksum.Type.Crc32, 512).ToString());
 }