Beispiel #1
0
        protected override void TestCleanup()
        {
            foreach (string fileName in fileNameList)
            {
                try
                {
                    sutProtocolControlAdapter.DeleteFile(fileName);
                }
                catch
                {
                }
            }

            try
            {
                smbdAdapter.DisconnectRdma();
            }
            catch
            {
            }

            smbdAdapter = null;

            base.TestCleanup();
        }
        public void Smb2OverRdmaChannel_InvalidBufferDescriptor_Offset()
        {
            InitSmbdConnectionForTestCases(smbdAdapter.TestConfig.TestFileName_LargeFile);

            // SMB2 Read file
            BaseTestSite.Log.Add(LogEntryKind.TestStep, "Register memory and get buffer descriptor for SMB2 READ.");
            SmbdBufferDescriptorV1 descp;
            uint bufferSize = smbdAdapter.Smb2MaxReadSize;

            smbdAdapter.SmbdRegisterBuffer(
                bufferSize,
                SmbdBufferReadWrite.RDMA_WRITE_PERMISSION_FOR_READ_FILE,
                out descp);

            // modify offset to overrun buffer size which is invalid
            descp.Offset = bufferSize + 1;

            byte[] channelInfo = TypeMarshal.ToBytes <SmbdBufferDescriptorV1>(descp);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "Read content from file over RDMA.");
            READ_Response readResponse;

            byte[] readData;
            try
            {
                NtStatus status = (NtStatus)smbdAdapter.Smb2ReadOverRdmaChannel(
                    0,
                    smbdAdapter.Smb2MaxReadSize,
                    channelInfo,
                    out readResponse,
                    out readData
                    );
                BaseTestSite.Assert.AreNotEqual <NtStatus>(
                    NtStatus.STATUS_SUCCESS,
                    status,
                    "Status of SMB2 Read File is {0}", status);
            }
            catch (TimeoutException)
            {
                BaseTestSite.Assert.Pass("No SMB2 READ response received");
            }

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "Disconnect and reconnect to verify server is available.");
            smbdAdapter.DisconnectRdma();
            smbdAdapter.ConnectToServerOverRDMA();
        }
        public void SmbdCreditMgmt_ConsumeAllReceiveCredits()
        {
            // define data for test case
            const ushort RECEIVE_CREDIT_MAX = 10;
            const ushort SEND_CREDIT_TARGET = 10;

            Initialize_ReceiveSmbdDataTransferTestCase(
                RECEIVE_CREDIT_MAX,
                SEND_CREDIT_TARGET,
                smbdAdapter.TestConfig.ModerateFileSizeInByte);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "Validate SMB2 Read response");
            ValidateReadResponse(
                RECEIVE_CREDIT_MAX,
                (int)smbdAdapter.TestConfig.ModerateFileSizeInByte);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "Close file and disconnect from server.");
            smbdAdapter.Smb2CloseFile();
            smbdAdapter.DisconnectRdma();
        }
        protected override void TestCleanup()
        {
            try
            {
                smbdAdapter.DisconnectRdma();
            }
            catch
            {
            }

            smbdAdapter = null;

            base.TestCleanup();
        }
Beispiel #5
0
        protected override void TestCleanup()
        {
            base.TestCleanup();

            smbdAdapter.DisconnectRdma();
        }