• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
3  *
4  * HDF is dual licensed: you can use it either under the terms of
5  * the GPL, or the BSD license, at your option.
6  * See the LICENSE file in the root of this repository for complete details.
7  */
8 
9 #include <cstdint>
10 #include <cstdio>
11 #include <cstdlib>
12 #include <fcntl.h>
13 #include <gtest/gtest.h>
14 #include <string>
15 #include <unistd.h>
16 #include "hdf_uhdf_test.h"
17 #include "hdf_io_service_if.h"
18 #include "spi_test.h"
19 
20 using namespace testing::ext;
21 
22 class HdfLiteSpiTest : public testing::Test {
23 public:
24     static void SetUpTestCase();
25     static void TearDownTestCase();
26     void SetUp();
27     void TearDown();
28 };
29 
SetUpTestCase()30 void HdfLiteSpiTest::SetUpTestCase()
31 {
32     HdfTestOpenService();
33 }
34 
TearDownTestCase()35 void HdfLiteSpiTest::TearDownTestCase()
36 {
37     HdfTestCloseService();
38 }
39 
SetUp()40 void HdfLiteSpiTest::SetUp()
41 {
42 }
43 
TearDown()44 void HdfLiteSpiTest::TearDown()
45 {
46 }
47 
48 /**
49   * @tc.name: SpiTransferTest001
50   * @tc.desc: spi function test
51   * @tc.type: FUNC
52   * @tc.require: SR000DQ0VO
53   */
54 HWTEST_F(HdfLiteSpiTest, SpiTransferTest001, TestSize.Level1)
55 {
56     struct HdfTestMsg msg = {TEST_PAL_SPI_TYPE, SPI_TRANSFER_TEST, -1};
57     EXPECT_EQ(0, HdfTestSendMsgToService(&msg));
58 
59     EXPECT_EQ(0, SpiTestExecute(SPI_TRANSFER_TEST));
60 }
61 
62 /**
63   * @tc.name: SpiMultiTransferTest001
64   * @tc.desc: spi function test
65   * @tc.type: FUNC
66   * @tc.require: SR000DQ0VO
67   */
68 #ifdef __LITEOS__
69 HWTEST_F(HdfLiteSpiTest, SpiMultiTransferTest001, TestSize.Level1)
70 {
71     struct HdfTestMsg msg = {TEST_PAL_SPI_TYPE, SPI_MULTI_TRANSFER_TEST, -1};
72     EXPECT_EQ(0, HdfTestSendMsgToService(&msg));
73 
74     EXPECT_EQ(0, SpiTestExecute(SPI_MULTI_TRANSFER_TEST));
75 }
76 #endif
77 
78 /**
79   * @tc.name: SpiDmaTransferTest001
80   * @tc.desc: Spi function test
81   * @tc.type: FUNC
82   * @tc.require: NA
83   */
84 HWTEST_F(HdfLiteSpiTest, SpiDmaTransferTest001, TestSize.Level1)
85 {
86     struct HdfTestMsg msg = {TEST_PAL_SPI_TYPE, SPI_DMA_TRANSFER_TEST, -1};
87     EXPECT_EQ(0, HdfTestSendMsgToService(&msg));
88 
89     EXPECT_EQ(0, SpiTestExecute(SPI_DMA_TRANSFER_TEST));
90 }
91 
92 /**
93   * @tc.name: SpiIntTransferTest001
94   * @tc.desc: Spi function test
95   * @tc.type: FUNC
96   * @tc.require: NA
97   */
98 HWTEST_F(HdfLiteSpiTest, SpiIntTransferTest001, TestSize.Level1)
99 {
100     struct HdfTestMsg msg = {TEST_PAL_SPI_TYPE, SPI_INT_TRANSFER_TEST, -1};
101     EXPECT_EQ(0, HdfTestSendMsgToService(&msg));
102 
103     EXPECT_EQ(0, SpiTestExecute(SPI_INT_TRANSFER_TEST));
104 }
105 
106 /**
107   * @tc.name: SpiReliabilityTest001
108   * @tc.desc: spi function test
109   * @tc.type: FUNC
110   * @tc.require: SR000DQ0VO
111   */
112 HWTEST_F(HdfLiteSpiTest, SpiReliabilityTest001, TestSize.Level1)
113 {
114     struct HdfTestMsg msg = {TEST_PAL_SPI_TYPE, SPI_RELIABILITY_TEST, -1};
115     EXPECT_EQ(0, HdfTestSendMsgToService(&msg));
116 
117     EXPECT_EQ(0, SpiTestExecute(SPI_RELIABILITY_TEST));
118 }
119 
120 /**
121   * @tc.name: SpiIfPerformanceTest001
122   * @tc.desc: spi function test
123   * @tc.type: FUNC
124   * @tc.require: SR000DQ0VO
125   */
126 HWTEST_F(HdfLiteSpiTest, SpiIfPerformanceTest001, TestSize.Level1)
127 {
128     EXPECT_EQ(0, SpiTestExecute(SPI_PERFORMANCE_TEST));
129 }
130