• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include "dcamera_hdf_demo.h"
18 #include "distributed_hardware_log.h"
19 
20 using namespace testing::ext;
21 using namespace OHOS::DistributedHardware;
22 
23 auto mainDemo = std::make_shared<DcameraHdfDemo>();
24 int32_t cameraOk = 0;
25 int32_t sleepOk = 2;
26 int32_t camoreError = -1;
27 
28 class DCameraAutomatTest : public testing::Test {
29 public:
30     static void SetUpTestCase(void);
31     static void TearDownTestCase(void);
32     void SetUp();
33     void TearDown();
34     DCameraAutomatTest();
35 };
SetUpTestCase(void)36 void DCameraAutomatTest::SetUpTestCase(void)
37 {
38     int32_t ret = mainDemo->InitSensors();
39     if (ret == camoreError) {
40         DHLOGE("main test: mainDemo->InitSensors() error");
41         return;
42     }
43 
44     ret = mainDemo->InitCameraDevice();
45     if (ret == camoreError) {
46         DHLOGE("main test: mainDemo->InitCameraDevice() error");
47         return;
48     }
49     mainDemo->SetEnableResult();
50 }
51 
TearDownTestCase(void)52 void DCameraAutomatTest::TearDownTestCase(void)
53 {
54     PreviewOff(mainDemo);
55     mainDemo->QuitDemo();
56 }
SetUp(void)57 void DCameraAutomatTest::SetUp(void) {}
TearDown(void)58 void DCameraAutomatTest::TearDown(void) {}
DCameraAutomatTest(void)59 DCameraAutomatTest::DCameraAutomatTest(void) {}
60 
61 /**
62  * @tc.number    : DCameraTest_0100
63  * @tc.name      : PreviewOn parameter test
64  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
65  */
66 HWTEST_F(DCameraAutomatTest, DCameraTest_0100, TestSize.Level1)
67 {
68     int32_t ret = PreviewOn(0, mainDemo);
69     EXPECT_EQ(cameraOk, ret) << "PreviewOn fail";
70     sleep(sleepOk);
71 }
72 /**
73  * @tc.number    : DCameraTest_0200
74  * @tc.name      : SetAwbMode parameter test
75  * @tc.desc      :[STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
76  */
77 HWTEST_F(DCameraAutomatTest, DCameraTest_0200, TestSize.Level1)
78 {
79     int32_t ret = mainDemo->SetAwbMode(sleepOk);
80     EXPECT_EQ(cameraOk, ret) << "SetAwbMode incandescent fail";
81     sleep(sleepOk);
82 }
83 /**
84  * @tc.number    : DCameraTest_0300
85  * @tc.name      : SetAwbMode parameter test
86  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
87  */
88 HWTEST_F(DCameraAutomatTest, DCameraTest_0300, TestSize.Level1)
89 {
90     int32_t ret = mainDemo->SetAwbMode(cameraOk);
91     EXPECT_EQ(cameraOk, ret) << "SetAwbMode fail";
92     sleep(sleepOk);
93 }
94 /**
95  * @tc.number    : DCameraTest_0400
96  * @tc.name      : SetAeExpo parameter test
97  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
98  */
99 HWTEST_F(DCameraAutomatTest, DCameraTest_0400, TestSize.Level1)
100 {
101     int32_t ret = mainDemo->SetAeExpo();
102     EXPECT_EQ(cameraOk, ret) << "SetAeExpo fail";
103     sleep(sleepOk);
104 }
105 /**
106  * @tc.number    : DCameraTest_0500
107  * @tc.name      : SetMetadata parameter test
108  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
109  */
110 HWTEST_F(DCameraAutomatTest, DCameraTest_0500, TestSize.Level1)
111 {
112     int32_t ret = mainDemo->SetMetadata();
113     EXPECT_EQ(cameraOk, ret) << "SetMetadata fail";
114     sleep(sleepOk);
115 }
116 /**
117  * @tc.number    : DCameraTest_0600
118  * @tc.name      : CaptureTest parameter test
119  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
120  */
121 HWTEST_F(DCameraAutomatTest, DCameraTest_0600, TestSize.Level1)
122 {
123     int32_t ret = CaptureTest(mainDemo);
124     EXPECT_EQ(cameraOk, ret) << "CaptureTest fail";
125     sleep(sleepOk);
126 }
127 /**
128  * @tc.number    : DCameraTest_0700
129  * @tc.name      : VideoTest parameter test
130  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
131  */
132 HWTEST_F(DCameraAutomatTest, DCameraTest_0700, TestSize.Level1)
133 {
134     int32_t ret = VideoTest(mainDemo);
135     EXPECT_EQ(cameraOk, ret) << "VideoTest fail";
136     sleep(sleepOk);
137 }
138 /**
139  * @tc.number    : DCameraTest_0800
140  * @tc.name      : FlashLightTest parameter test
141  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
142  */
143 HWTEST_F(DCameraAutomatTest, DCameraTest_0800, TestSize.Level1)
144 {
145     int32_t ret = FlashLightTest(mainDemo);
146     EXPECT_EQ(cameraOk, ret) << "FlashLightTest fail";
147     sleep(sleepOk);
148 }
149 /**
150  * @tc.number    : DCameraTest_0900
151  * @tc.name      : OfflineTest parameter test
152  * @tc.desc      : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
153  */
154 HWTEST_F(DCameraAutomatTest, DCameraTest_0900, TestSize.Level1)
155 {
156     int32_t ret = OfflineTest(mainDemo);
157     EXPECT_EQ(cameraOk, ret) << "OfflineTest fail";
158 }
159 
160 HWTEST_F(DCameraAutomatTest, DCameraTest_1000, TestSize.Level1)
161 {
162     int32_t ret = PreviewOn(1, mainDemo);
163     DHLOGI("DCameraTest_3100 = ", ret);
164     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
165     sleep(sleepOk);
166 }
167 
168 HWTEST_F(DCameraAutomatTest, DCameraTest_1100, TestSize.Level1)
169 {
170     int32_t ret = PreviewOn(1, nullptr);
171     DHLOGI("DCameraTest_3200 = ", ret);
172     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
173     sleep(sleepOk);
174 }
175 
176 HWTEST_F(DCameraAutomatTest, DCameraTest_1200, TestSize.Level1)
177 {
178     int32_t ret = PreviewOn(0, nullptr);
179     DHLOGI("DCameraTest_3300 = ", ret);
180     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
181     sleep(sleepOk);
182 }
183 
184 HWTEST_F(DCameraAutomatTest, DCameraTest_1300, TestSize.Level1)
185 {
186     int32_t ret = PreviewOn(-1, mainDemo);
187     DHLOGI("DCameraTest_3400 = ", ret);
188     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
189     sleep(sleepOk);
190 }
191 
192 HWTEST_F(DCameraAutomatTest, DCameraTest_1400, TestSize.Level1)
193 {
194     int32_t ret = mainDemo->SetAwbMode(5);
195     DHLOGI("DCameraTest_3500 = ", ret);
196     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
197     sleep(sleepOk);
198 }
199 
200 HWTEST_F(DCameraAutomatTest, DCameraTest_1500, TestSize.Level1)
201 {
202     int32_t ret = mainDemo->SetAwbMode(camoreError);
203     DHLOGI("DCameraTest_3600 = ", ret);
204     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
205     sleep(sleepOk);
206 }
207 
208 HWTEST_F(DCameraAutomatTest, DCameraTest_1600, TestSize.Level1)
209 {
210     int32_t ret = mainDemo->SetAwbMode(camoreError);
211     DHLOGI("DCameraTest_3700 = ", ret);
212     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
213     sleep(sleepOk);
214     ret = mainDemo->SetAeExpo();
215     DHLOGI("DCameraTest_3701 = ", ret);
216     EXPECT_EQ(cameraOk, ret) << "SetAeExpo fail";
217     sleep(sleepOk);
218 }
219 
220 HWTEST_F(DCameraAutomatTest, DCameraTest_1700, TestSize.Level1)
221 {
222     int32_t ret = mainDemo->SetAwbMode(camoreError);
223     DHLOGI("DCameraTest_3800 = ", ret);
224     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
225     sleep(sleepOk);
226     ret = mainDemo->SetMetadata();
227     DHLOGI("DCameraTest_3801 = ", ret);
228     EXPECT_EQ(cameraOk, ret) << "SetMetadata fail";
229     sleep(sleepOk);
230 }
231 
232 HWTEST_F(DCameraAutomatTest, DCameraTest_1800, TestSize.Level1)
233 {
234     int32_t ret = CaptureTest(nullptr);
235     DHLOGI("DCameraTest_3900 = ", ret);
236     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
237     sleep(sleepOk);
238 }
239 
240 HWTEST_F(DCameraAutomatTest, DCameraTest_1900, TestSize.Level1)
241 {
242     int32_t ret = VideoTest(nullptr);
243     DHLOGI("DCameraTest_4000 = ", ret);
244     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
245     sleep(sleepOk);
246 }
247 
248 HWTEST_F(DCameraAutomatTest, DCameraTest_2000, TestSize.Level1)
249 {
250     int32_t ret = FlashLightTest(nullptr);
251     DHLOGI("DCameraTest_4100 = ", ret);
252     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
253     sleep(sleepOk);
254 }
255 
256 HWTEST_F(DCameraAutomatTest, DCameraTest_2100, TestSize.Level1)
257 {
258     int32_t ret = OfflineTest(nullptr);
259     DHLOGI("DCameraTest_4200 = ", ret);
260     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
261     sleep(sleepOk);
262 }
263 
264 HWTEST_F(DCameraAutomatTest, DCameraTest_2200, TestSize.Level1)
265 {
266     int32_t ret = PreviewOn(1, nullptr);
267     DHLOGI("DCameraTest_4300 = ", ret);
268     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
269     sleep(sleepOk);
270     ret = mainDemo->SetAwbMode(5);
271     DHLOGI("DCameraTest_4301 = ", ret);
272     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
273     sleep(sleepOk);
274 }
275 
276 HWTEST_F(DCameraAutomatTest, DCameraTest_2300, TestSize.Level1)
277 {
278     int32_t ret = PreviewOn(1, nullptr);
279     DHLOGI("DCameraTest_4400 = ", ret);
280     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
281     sleep(sleepOk);
282     ret = mainDemo->SetAwbMode(camoreError);
283     DHLOGI("DCameraTest_4401 = ", ret);
284     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
285     sleep(sleepOk);
286 }
287 
288 HWTEST_F(DCameraAutomatTest, DCameraTest_2400, TestSize.Level1)
289 {
290     int32_t ret = PreviewOn(1, nullptr);
291     DHLOGI("DCameraTest_4500 = ", ret);
292     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
293     sleep(sleepOk);
294     ret = CaptureTest(nullptr);
295     DHLOGI("DCameraTest_4501 = ", ret);
296     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
297     sleep(sleepOk);
298 }
299 
300 HWTEST_F(DCameraAutomatTest, DCameraTest_2500, TestSize.Level1)
301 {
302     int32_t ret = PreviewOn(1, nullptr);
303     DHLOGI("DCameraTest_4600 = ", ret);
304     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
305     sleep(sleepOk);
306     ret = VideoTest(nullptr);
307     DHLOGI("DCameraTest_4601 = ", ret);
308     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
309     sleep(sleepOk);
310 }
311 
312 HWTEST_F(DCameraAutomatTest, DCameraTest_2600, TestSize.Level1)
313 {
314     int32_t ret = PreviewOn(1, nullptr);
315     DHLOGI("DCameraTest_4700 = ", ret);
316     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
317     sleep(sleepOk);
318     ret = PreviewOn(0, nullptr);
319     DHLOGI("DCameraTest_4701 = ", ret);
320     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
321     sleep(sleepOk);
322 }
323 
324 HWTEST_F(DCameraAutomatTest, DCameraTest_2700, TestSize.Level1)
325 {
326     int32_t ret = PreviewOn(1, nullptr);
327     DHLOGI("DCameraTest_4800 = ", ret);
328     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
329     sleep(sleepOk);
330     ret = FlashLightTest(nullptr);
331     DHLOGI("DCameraTest_4801 = ", ret);
332     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
333     sleep(sleepOk);
334 }
335 
336 HWTEST_F(DCameraAutomatTest, DCameraTest_2800, TestSize.Level1)
337 {
338     int32_t ret = PreviewOn(1, nullptr);
339     DHLOGI("DCameraTest_4900 = ", ret);
340     EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
341     sleep(sleepOk);
342     ret = OfflineTest(nullptr);
343     DHLOGI("DCameraTest_4901 = ", ret);
344     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
345     sleep(sleepOk);
346 }
347 
348 HWTEST_F(DCameraAutomatTest, DCameraTest_2900, TestSize.Level1)
349 {
350     int32_t ret = mainDemo->SetAwbMode(camoreError);
351     DHLOGI("DCameraTest_5000 = ", ret);
352     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
353     sleep(sleepOk);
354     ret = CaptureTest(nullptr);
355     DHLOGI("DCameraTest_5001 = ", ret);
356     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
357     sleep(sleepOk);
358 }
359 
360 HWTEST_F(DCameraAutomatTest, DCameraTest_3000, TestSize.Level1)
361 {
362     int32_t ret = mainDemo->SetAwbMode(camoreError);
363     DHLOGI("DCameraTest_5100 = ", ret);
364     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
365     sleep(sleepOk);
366     ret = VideoTest(nullptr);
367     DHLOGI("DCameraTest_5101 = ", ret);
368     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
369     sleep(sleepOk);
370 }
371 
372 HWTEST_F(DCameraAutomatTest, DCameraTest_3100, TestSize.Level1)
373 {
374     int32_t ret = mainDemo->SetAwbMode(camoreError);
375     DHLOGI("DCameraTest_5200 = ", ret);
376     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
377     sleep(sleepOk);
378     ret = FlashLightTest(nullptr);
379     DHLOGI("DCameraTest_5201 = ", ret);
380     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
381     sleep(sleepOk);
382 }
383 
384 HWTEST_F(DCameraAutomatTest, DCameraTest_3200, TestSize.Level1)
385 {
386     int32_t ret = mainDemo->SetAwbMode(camoreError);
387     DHLOGI("DCameraTest_5300 = ", ret);
388     EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
389     sleep(sleepOk);
390     ret = OfflineTest(nullptr);
391     DHLOGI("DCameraTest_5301 = ", ret);
392     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
393     sleep(sleepOk);
394 }
395 
396 HWTEST_F(DCameraAutomatTest, DCameraTest_3300, TestSize.Level1)
397 {
398     int32_t ret = CaptureTest(nullptr);
399     DHLOGI("DCameraTest_5400 = ", ret);
400     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
401     sleep(sleepOk);
402     ret = VideoTest(nullptr);
403     DHLOGI("DCameraTest_5401 = ", ret);
404     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
405     sleep(sleepOk);
406 }
407 
408 HWTEST_F(DCameraAutomatTest, DCameraTest_3400, TestSize.Level1)
409 {
410     int32_t ret = CaptureTest(nullptr);
411     DHLOGI("DCameraTest_5500 = ", ret);
412     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
413     sleep(sleepOk);
414     ret = FlashLightTest(nullptr);
415     DHLOGI("DCameraTest_5501 = ", ret);
416     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
417     sleep(sleepOk);
418 }
419 
420 HWTEST_F(DCameraAutomatTest, DCameraTest_3500, TestSize.Level1)
421 {
422     int32_t ret = CaptureTest(nullptr);
423     DHLOGI("DCameraTest_5600 = ", ret);
424     EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
425     sleep(sleepOk);
426     ret = OfflineTest(nullptr);
427     DHLOGI("DCameraTest_5601 = ", ret);
428     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
429     sleep(sleepOk);
430 }
431 
432 HWTEST_F(DCameraAutomatTest, DCameraTest_3600, TestSize.Level1)
433 {
434     int32_t ret = VideoTest(nullptr);
435     DHLOGI("DCameraTest_5700 = ", ret);
436     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
437     sleep(sleepOk);
438     ret = FlashLightTest(nullptr);
439     DHLOGI("DCameraTest_5701 = ", ret);
440     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
441     sleep(sleepOk);
442 }
443 
444 HWTEST_F(DCameraAutomatTest, DCameraTest_3700, TestSize.Level1)
445 {
446     int32_t ret = VideoTest(nullptr);
447     DHLOGI("DCameraTest_5800 = ", ret);
448     EXPECT_NE(cameraOk, ret) << "VideoTest fail";
449     sleep(sleepOk);
450     ret = OfflineTest(nullptr);
451     DHLOGI("DCameraTest_5801 = ", ret);
452     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
453     sleep(sleepOk);
454 }
455 
456 HWTEST_F(DCameraAutomatTest, DCameraTest_3800, TestSize.Level1)
457 {
458     int32_t ret = FlashLightTest(nullptr);
459     DHLOGI("DCameraTest_5900 = ", ret);
460     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
461     sleep(sleepOk);
462     ret = OfflineTest(nullptr);
463     DHLOGI("DCameraTest_5901 = ", ret);
464     EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
465     sleep(sleepOk);
466 }
467 
468 HWTEST_F(DCameraAutomatTest, DCameraTest_3900, TestSize.Level1)
469 {
470     int32_t ret = FlashLightTest(nullptr);
471     DHLOGI("DCameraTest_6000 = ", ret);
472     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
473     sleep(sleepOk);
474     ret = FlashLightTest(nullptr);
475     DHLOGI("DCameraTest_6001 = ", ret);
476     EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
477     sleep(sleepOk);
478 }