blob: b3b94634ad89d4a0d46a5dbaf8f75d0e4cf2c56b [file] [log] [blame]
Ilia Linf1c1fb32021-05-04 15:55:34 +03001/*
2 * Copyright (c) 2017 The Linux Foundation. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer in the documentation and/or other materials provided
12 * with the distribution.
13 * * Neither the name of The Linux Foundation nor the names of its
14 * contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#include "TLPAggregationTestFixture.h"
31
32/////////////////////////////////////////////////////////////////////////////////
33
34//define the static Pipes which will be used by all derived tests.
35Pipe TLPAggregationTestFixture::m_IpaToUsbPipeNoAgg(IPA_CLIENT_TEST3_CONS,
36 IPA_TEST_CONFIGURATION_8);
37Pipe TLPAggregationTestFixture::m_IpaToUsbPipeAggr(IPA_CLIENT_TEST_CONS,
38 IPA_TEST_CONFIGURATION_8);
39Pipe TLPAggregationTestFixture::m_UsbNoAggToIpaPipeAgg(IPA_CLIENT_TEST3_PROD,
40 IPA_TEST_CONFIGURATION_8);
41Pipe TLPAggregationTestFixture::m_UsbDeaggToIpaPipeNoAgg(IPA_CLIENT_TEST_PROD,
42 IPA_TEST_CONFIGURATION_8);
43Pipe TLPAggregationTestFixture::m_UsbDeaggToIpaPipeAgg(IPA_CLIENT_TEST2_PROD,
44 IPA_TEST_CONFIGURATION_8);
45Pipe TLPAggregationTestFixture::m_IpaToUsbPipeAggTime(IPA_CLIENT_TEST2_CONS,
46 IPA_TEST_CONFIGURATION_8);
47Pipe TLPAggregationTestFixture::m_UsbNoAggToIpaPipeAggTime(IPA_CLIENT_TEST4_PROD,
48 IPA_TEST_CONFIGURATION_8);
49
50/////////////////////////////////////////////////////////////////////////////////
51
52TLPAggregationTestFixture::TLPAggregationTestFixture()
53{
54 m_testSuiteName.push_back("TLPAgg");
55 m_maxIPAHwType = IPA_HW_v2_6L;
56 Register(*this);
57}
58
59/////////////////////////////////////////////////////////////////////////////////
60
61bool TLPAggregationTestFixture::Setup()
62{
63 bool bRetVal = true;
64
65 //Set the configuration to support USB->IPA and IPA->USB pipes.
66 ConfigureScenario(8);
67
68 //Initialize the pipe for all the tests - this will open the inode which represents the pipe.
69 bRetVal &= m_IpaToUsbPipeNoAgg.Init();
70 bRetVal &= m_IpaToUsbPipeAggr.Init();
71 bRetVal &= m_UsbNoAggToIpaPipeAgg.Init();
72 bRetVal &= m_UsbDeaggToIpaPipeNoAgg.Init();
73 bRetVal &= m_UsbDeaggToIpaPipeAgg.Init();
74 bRetVal &= m_IpaToUsbPipeAggTime.Init();
75 bRetVal &= m_UsbNoAggToIpaPipeAggTime.Init();
76 return bRetVal;
77}
78
79/////////////////////////////////////////////////////////////////////////////////
80
81bool TLPAggregationTestFixture::Teardown()
82{
83 //The Destroy method will close the inode.
84 m_IpaToUsbPipeNoAgg.Destroy();
85 m_IpaToUsbPipeAggr.Destroy();
86 m_UsbNoAggToIpaPipeAgg.Destroy();
87 m_UsbDeaggToIpaPipeNoAgg.Destroy();
88 m_UsbDeaggToIpaPipeAgg.Destroy();
89 m_IpaToUsbPipeAggTime.Destroy();
90 m_UsbNoAggToIpaPipeAggTime.Destroy();
91 return true;
92}
93
94/////////////////////////////////////////////////////////////////////////////////