1 /*
2 * Copyright (C) 2020-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 "camera_lite_test.h"
17
18 #include <components/ui_surface_view.h>
19 #include <sys/stat.h>
20 #include <sys/time.h>
21 #include <sys/types.h>
22
23 #include <algorithm>
24 #include <cstdlib>
25 #include <fstream>
26 #include <iostream>
27 #include <memory>
28 #include <sstream>
29 #include <string>
30
31 #include "camera_kit.h"
32
33 using namespace std;
34 using namespace OHOS;
35 using namespace OHOS::Media;
36 using namespace testing::ext;
37
38 namespace OHOS {
39 /* *
40 * get current dir
41 * @return string current file path of the test suites
42 */
GetCurDir()43 string GetCurDir()
44 {
45 string filePath = "";
46 char *buffer;
47 if ((buffer = getcwd(NULL, 0)) == NULL) {
48 perror("get file path error");
49 } else {
50 printf("Current Dir: %s\r\n", buffer);
51 filePath = buffer;
52 free(buffer);
53 }
54 return filePath + "/";
55 }
56
57 // SetUpTestCase
SetUpTestCase(void)58 void CameraLiteTest::SetUpTestCase(void)
59 {
60 g_testPath = GetCurDir();
61 cout << "SetUpTestCase" << endl;
62 }
63
64 // TearDownTestCase
TearDownTestCase(void)65 void CameraLiteTest::TearDownTestCase(void)
66 {
67 g_testPath = "";
68 cout << "TearDownTestCase" << endl;
69 }
70
SetUp(void)71 void CameraLiteTest::SetUp(void)
72 {
73 // CameraSetUp
74 g_onGetCameraAbilityFlag = false;
75 g_onConfigureFlag = false;
76 g_onGetSupportedSizesFlag = false;
77
78 // CameraDeviceCallBack
79 g_onCameraAvailableFlag = false;
80 g_onCameraUnavailableFlag = false;
81
82 // CameraStateCallback
83 g_onCreatedFlag = false;
84 g_onCreateFailedFlag = false;
85 g_onConfiguredFlag = false;
86 g_onConfigureFailedFlag = false;
87 g_onReleasedFlag = false;
88
89 // FrameStateCallback
90 g_onCaptureTriggerAbortedFlag = false;
91 g_onCaptureTriggerCompletedFlag = false;
92 g_onCaptureTriggerStartedFlag = false;
93 g_onFrameFinishedFlag = false;
94 g_onGetFrameConfigureType = false;
95 g_onFrameErrorFlag = false;
96 g_onFrameProgressedFlag = false;
97 g_onFrameStartedFlag = false;
98 g_onRecorderFlag = false;
99 cout << "SetUp" << endl;
100 }
101
102 // Tear down
TearDown(void)103 void CameraLiteTest::TearDown(void)
104 {
105 cout << "TearDown." << endl;
106 }
107
SetupAudioSource(const Recorder & rec)108 int32_t SetupAudioSource(const Recorder &rec)
109 {
110 Recorder *recorder = (Recorder *)&rec;
111 int32_t ret = SUCCESS;
112 int32_t audioSourceId = 0;
113 AudioCodecFormat audioFormat = AAC_LC;
114 AudioSourceType inputSource = AUDIO_MIC;
115 int32_t sampleRate = 48000;
116 int32_t channelCount = 1;
117 int32_t audioEncodingBitRate = sampleRate;
118 if ((ret = recorder->SetAudioSource(inputSource, audioSourceId)) != SUCCESS) {
119 cout << "SetAudioSource failed." << ret << endl;
120 return FAIL;
121 }
122 if ((ret = recorder->SetAudioEncoder(audioSourceId, audioFormat)) != SUCCESS) {
123 cout << "SetAudioEncoder failed." << ret << endl;
124 return FAIL;
125 }
126 if ((ret = recorder->SetAudioSampleRate(audioSourceId, sampleRate)) != SUCCESS) {
127 cout << "SetAudioSampleRate failed." << ret << endl;
128 return FAIL;
129 }
130 if ((ret = recorder->SetAudioChannels(audioSourceId, channelCount)) != SUCCESS) {
131 cout << "SetAudioChannels failed." << ret << endl;
132 return FAIL;
133 }
134 if ((ret = recorder->SetAudioEncodingBitRate(audioSourceId, audioEncodingBitRate)) != SUCCESS) {
135 cout << "SetAudioEncodingBitRate failed." << ret << endl;
136 return FAIL;
137 }
138 return SUCCESS;
139 }
140
141 /* *
142 * create Recorder
143 */
SampleCreateRecorder()144 Recorder *SampleCreateRecorder()
145 {
146 int ret = 0;
147 VideoSourceType source = VIDEO_SOURCE_SURFACE_ES;
148 int32_t frameRate = 30;
149 double fps = 30;
150 int32_t rate = 4096;
151 int32_t sourceId = 0;
152 int32_t width = 1920;
153 int32_t height = 1080;
154 VideoCodecFormat encoder = HEVC;
155 Recorder *recorder = new Recorder();
156 if ((ret = recorder->SetVideoSource(source, sourceId)) != SUCCESS) {
157 cout << "SetVideoSource failed." << ret << endl;
158 delete recorder;
159 return nullptr;
160 }
161 if ((ret = recorder->SetVideoEncoder(sourceId, encoder)) != SUCCESS) {
162 cout << "SetVideoEncoder failed." << ret << endl;
163 delete recorder;
164 return nullptr;
165 }
166 if ((ret = recorder->SetVideoSize(sourceId, width, height)) != SUCCESS) {
167 cout << "SetVideoSize failed." << ret << endl;
168 delete recorder;
169 return nullptr;
170 }
171 if ((ret = recorder->SetVideoFrameRate(sourceId, frameRate)) != SUCCESS) {
172 cout << "SetVideoFrameRate failed." << ret << endl;
173 delete recorder;
174 return nullptr;
175 }
176 if ((ret = recorder->SetVideoEncodingBitRate(sourceId, rate)) != SUCCESS) {
177 cout << "SetVideoEncodingBitRate failed." << ret << endl;
178 delete recorder;
179 return nullptr;
180 }
181 if ((ret = recorder->SetCaptureRate(sourceId, fps)) != SUCCESS) {
182 cout << "SetCaptureRate failed." << ret << endl;
183 delete recorder;
184 return nullptr;
185 }
186 if ((ret = SetupAudioSource(*recorder) != SUCCESS)) {
187 delete recorder;
188 return nullptr;
189 }
190 return recorder;
191 }
192
193 /* *
194 * Create Frame StateCallback
195 */
196 class SampleFrameStateCallback : public FrameStateCallback {
197 /* *
198 * check file exist
199 *
200 * @param filename the filename
201 * @return check result
202 */
FileCheck(const string & filename)203 int32_t FileCheck(const string &filename)
204 {
205 fstream fileTmp;
206 fileTmp.open(filename);
207 if (!fileTmp) {
208 cout << "file is not exist!" << endl;
209 return RET_ERR;
210 } else {
211 cout << "file is exist!" << endl;
212 fileTmp.close();
213 return RET_OK;
214 }
215 }
216
217 /* *
218 * Save Capture
219 *
220 * @param testPath the file path
221 * @param buffer the buffer
222 * @param size the size
223 * @return save result
224 */
SampleSaveCapture(string testPath,const char * buffer,uint32_t size)225 int32_t SampleSaveCapture(string testPath, const char *buffer, uint32_t size)
226 {
227 cout << "Start saving picture" << endl;
228 string filePath = "";
229 struct timeval tv = {0};
230
231 gettimeofday(&tv, NULL);
232 struct tm *ltm = localtime(&tv.tv_sec);
233 if (ltm != nullptr) {
234 ostringstream ss("Capture_");
235 ss << "Capture" << ltm->tm_hour << "_" << ltm->tm_min << "_" << ltm->tm_sec << ".jpg";
236 filePath = testPath + ss.str();
237 ofstream pic(testPath + ss.str(), ofstream::out | ofstream::trunc);
238 cout << "write " << size << " bytes" << endl;
239 pic.write(buffer, size);
240 cout << "Saving picture end" << endl;
241 }
242 const char *filename = filePath.data();
243 int32_t ret = FileCheck(string(filename));
244 return ret;
245 }
246
OnFrameFinished(Camera & cam,FrameConfig & fc,FrameResult & res)247 void OnFrameFinished(Camera &cam, FrameConfig &fc, FrameResult &res) override
248 {
249 g_onFrameStartedFlag = true;
250 g_onFrameProgressedFlag = true;
251 cout << "Receive frame complete inform." << endl;
252 if (fc.GetFrameConfigType() == FRAME_CONFIG_CAPTURE) {
253 g_onGetFrameConfigureType = true;
254 cout << "Capture frame received." << endl;
255 list<Surface *> surfaceList = fc.GetSurfaces();
256 for (Surface *surface : surfaceList) {
257 SurfaceBuffer *buffer = surface->AcquireBuffer();
258 if (buffer != nullptr) {
259 char *virtAddr = static_cast<char *>(buffer->GetVirAddr());
260 if (virtAddr != nullptr) {
261 SampleSaveCapture(g_testPath, virtAddr, buffer->GetSize());
262 } else {
263 g_onFrameErrorFlag = true;
264 }
265 surface->ReleaseBuffer(buffer);
266 } else {
267 g_onFrameErrorFlag = true;
268 }
269 delete surface;
270 }
271 delete &fc;
272 } else {
273 g_onFrameErrorFlag = true;
274 }
275 g_onFrameFinishedFlag = true;
276 }
277 };
278
279 /* *
280 * create CameraStateCallback
281 */
282 class SampleCameraStateMng : public CameraStateCallback {
283 public:
284 SampleCameraStateMng() = delete;
285
SampleCameraStateMng(EventHandler & eventHdlr)286 explicit SampleCameraStateMng(EventHandler &eventHdlr) : eventHandler_(eventHdlr) {}
287
~SampleCameraStateMng()288 ~SampleCameraStateMng()
289 {
290 if (recorder_ != nullptr) {
291 recorder_->Release();
292 }
293 if (cam_ != nullptr) {
294 cam_->Release();
295 }
296 }
297
OnCreated(Camera & c)298 void OnCreated(Camera &c) override
299 {
300 g_onCreatedFlag = true;
301 cout << "Sample recv OnCreate camera." << endl;
302 auto config = CameraConfig::CreateCameraConfig();
303 config->SetFrameStateCallback(&fsCb, &eventHandler_);
304 c.Configure(*config);
305 g_onConfigureFlag = true;
306 cam_ = &c;
307 }
308
OnCreateFailed(const std::string cameraId,int32_t errorCode)309 void OnCreateFailed(const std::string cameraId, int32_t errorCode) override
310 {
311 g_onCreateFailedFlag = true;
312 cout << "Camera ID: " << cameraId << endl;
313 cout << "Sample recv OnCreateFailed camera.: " << errorCode << endl;
314 }
315
OnReleased(Camera & c)316 void OnReleased(Camera &c) override
317 {
318 g_onReleasedFlag = true;
319 cout << "Sample recv OnReleased camera." << endl;
320 }
321
StartRecord()322 void StartRecord()
323 {
324 int ret;
325 if (isRecording_) {
326 cout << "Camera is already recording." << endl;
327 return;
328 }
329 if (recorder_ != nullptr) {
330 cout << "Recorder is not null" << endl;
331 }
332 recorder_ = SampleCreateRecorder();
333 if (recorder_ == nullptr) {
334 cout << "Recorder not available" << endl;
335 return;
336 }
337 string path = GetCurDir();
338 ret = recorder_->SetOutputPath(path);
339 if (ret != SUCCESS) {
340 cout << "SetOutputPath failed :" << ret << std::endl;
341 return;
342 }
343
344 ret = recorder_->Prepare();
345 if (ret != SUCCESS) {
346 cout << "Prepare failed.=" << ret << endl;
347 return;
348 }
349 auto surface = recorder_->GetSurface(0);
350 surface->SetWidthAndHeight(WIDTH, HEIGHT);
351 surface->SetQueueSize(QUEUE_SIZE);
352 surface->SetSize(BUFFER_SIZE * BUFFER_SIZE);
353 FrameConfig *fc = new FrameConfig(FRAME_CONFIG_RECORD);
354 fc->AddSurface(*surface);
355 ret = recorder_->Start();
356 if (ret != SUCCESS) {
357 cout << "recorder start failed. ret=" << ret << endl;
358 delete fc;
359 return;
360 }
361 static int cnt = 3;
362 while (cam_ == nullptr) {
363 if (cnt-- < 0)
364 break;
365 cout << "Wait camera created success" << endl;
366 sleep(1);
367 }
368 if (cam_ ==nullptr) {
369 cout << "StartRecord camera created failed is cam_ is nullptr" << endl;
370 return;
371 }
372 ret = cam_->TriggerLoopingCapture(*fc);
373 if (ret != 0) {
374 cout << "camera start recording failed. ret=" << ret << endl;
375 return;
376 }
377 isRecording_ = true;
378 g_onRecorderFlag = true;
379 cout << "camera start recording succeed." << endl;
380 }
381
StartPreview()382 void StartPreview()
383 {
384 if (isPreviewing_) {
385 cout << "Camera is already previewing." << endl;
386 return;
387 }
388 FrameConfig *fc = new FrameConfig(FRAME_CONFIG_PREVIEW);
389 UISurfaceView *surface = new UISurfaceView();
390 int width = 960;
391 int height = 480;
392 if (surface == nullptr) {
393 cout << "CreateSurface failed" << endl;
394 delete fc;
395 return;
396 }
397 surface->SetPosition(0, 0, width, height);
398 surface->GetSurface()->SetWidthAndHeight(WIDTH, HEIGHT);
399 fc->AddSurface(*(surface->GetSurface()));
400 static int cnt = 3;
401 while (cam_ == nullptr) {
402 if (cnt-- < 0)
403 break;
404 cout << "Wait camera created success" << endl;
405 sleep(1);
406 }
407 if (cam_ ==nullptr) {
408 cout << "StartPreview camera created failed is cam_ is nullptr" << endl;
409 return;
410 }
411 int32_t ret = cam_->TriggerLoopingCapture(*fc);
412 if (ret != 0) {
413 cout << "camera start preview failed. ret=" << ret << endl;
414 delete fc;
415 return;
416 }
417 delete surface;
418 isPreviewing_ = true;
419 g_onPreviewFlag = true;
420 cout << "camera start preview succeed." << endl;
421 }
422
Capture(void)423 void Capture(void)
424 {
425 FrameConfig *fc = new FrameConfig(FRAME_CONFIG_CAPTURE);
426 Surface *surface = Surface::CreateSurface();
427 if (surface == nullptr) {
428 cout << "CreateSurface failed" << endl;
429 delete fc;
430 return;
431 }
432 surface->SetWidthAndHeight(WIDTH, HEIGHT);
433 fc->AddSurface(*surface);
434 static int cnt = 3;
435 while (cam_ == nullptr) {
436 if (cnt-- < 0)
437 break;
438 cout << "Wait camera created success" << endl;
439 sleep(1);
440 }
441 if (cam_ ==nullptr) {
442 cout << "Capture camera created failed is cam_ is nullptr" << endl;
443 return;
444 }
445 g_onCaptureTriggerStartedFlag = true;
446 cam_->TriggerSingleCapture(*fc);
447 g_onCaptureTriggerCompletedFlag = true;
448 }
449
Stop()450 void Stop()
451 {
452 if (recorder_ != nullptr) {
453 int32_t ret = recorder_->Stop(true);
454 if (ret != 0) {
455 cout << "recorder_ stop failed. ret=" << ret << endl;
456 }
457 }
458
459 if (cam_ == nullptr) {
460 cout << "Camera is not ready." << endl;
461 return;
462 }
463 cam_->StopLoopingCapture(-1);
464 isPreviewing_ = false;
465 isRecording_ = false;
466 g_onRecorderFlag = false;
467 g_onPreviewFlag = false;
468 }
469
470 bool isPreviewing_ = false;
471 bool isRecording_ = false;
472 EventHandler &eventHandler_;
473 Camera *cam_ = nullptr;
474 Recorder *recorder_ = nullptr;
475 SampleFrameStateCallback fsCb;
476 };
477
478 /* *
479 * create CameraStateCallback for state test
480 */
481 class SampleCameraStateCallback : public CameraStateCallback {
482 public:
483 SampleCameraStateCallback() = delete;
484
SampleCameraStateCallback(EventHandler & eventHdlr)485 explicit SampleCameraStateCallback(EventHandler &eventHdlr) : eventHandler_(eventHdlr) {}
486
~SampleCameraStateCallback()487 ~SampleCameraStateCallback()
488 {
489 if (cam_ != nullptr) {
490 cam_->Release();
491 }
492 }
493
OnCreated(Camera & c)494 void OnCreated(Camera &c) override
495 {
496 g_onCreatedFlag = true;
497 cout << "camera Create success." << endl;
498 auto config = CameraConfig::CreateCameraConfig();
499 config->SetFrameStateCallback(&fsCb, &eventHandler_);
500 c.Configure(*config);
501 cam_ = &c;
502 }
503
OnCreateFailed(const std::string cameraId,int32_t errorCode)504 void OnCreateFailed(const std::string cameraId, int32_t errorCode) override
505 {
506 g_onCreateFailedFlag = true;
507 cout << "Camera ID: " << cameraId << endl;
508 cout << "Camera Create Failed: " << errorCode << endl;
509 }
510
OnReleased(Camera & c)511 void OnReleased(Camera &c) override
512 {
513 g_onReleasedFlag = true;
514 cout << "camera Releasedsuccess." << endl;
515 }
516
OnConfigured(Camera & c)517 void OnConfigured(Camera &c) override
518 {
519 g_onConfiguredFlag = true;
520 cout << "Camera Configured success." << endl;
521 }
522
OnConfigureFailed(const std::string cameraId,int32_t errorCode)523 void OnConfigureFailed(const std::string cameraId, int32_t errorCode) override
524 {
525 g_onConfigureFailedFlag = true;
526 cout << "Camera ID: " << cameraId << endl;
527 cout << "Camera Configured failed: " << errorCode << endl;
528 }
529
530 EventHandler &eventHandler_;
531 Camera *cam_ = nullptr;
532 SampleFrameStateCallback fsCb;
533 };
534
535 /* *
536 * Create camera device callback
537 */
538 class SampleCameraDeviceCallback : public CameraDeviceCallback {
539 public:
SampleCameraDeviceCallback()540 SampleCameraDeviceCallback() {}
541
~SampleCameraDeviceCallback()542 ~SampleCameraDeviceCallback() {}
543
OnCameraStatus(std::string cameraId,int32_t status)544 void OnCameraStatus(std::string cameraId, int32_t status) override
545 {
546 cout << "SampleCameraDeviceCallback OnCameraStatus cam Id: \n" << cameraId << endl;
547 if (status == CAMERA_DEVICE_STATE_AVAILABLE) {
548 g_onCameraAvailableFlag = true;
549 cout << "SampleCameraDeviceCallback onCameraAvailable\n" << endl;
550 } else if (status == CAMERA_DEVICE_STATE_UNAVAILABLE) {
551 g_onCameraUnavailableFlag = true;
552 cout << "SampleCameraDeviceCallback onCameraUnavailable\n" << endl;
553 }
554 }
555 };
556
557 /* *
558 * Get camera Id
559 */
GetCameraId(CameraKit * cameraKit,list<string> & cameraList,string & cameraId)560 bool GetCameraId(CameraKit *cameraKit, list<string> &cameraList, string &cameraId)
561 {
562 cameraKit = CameraKit::GetInstance();
563 cameraList = cameraKit->GetCameraIds();
564 for (auto &cam : cameraList) {
565 cout << "camera name:" << cam << endl;
566 const CameraAbility *ability = cameraKit->GetCameraAbility(cam);
567 g_onGetCameraAbilityFlag = true;
568 /* find camera which fits user's ability */
569 list<CameraPicSize> sizeList = ability->GetSupportedSizes(0);
570 if (sizeList.size() != 0) {
571 g_onGetSupportedSizesFlag = true;
572 }
573 for (auto &pic : sizeList) {
574 cout << "Pic size: " << pic.width << "x" << pic.height << endl;
575 if (pic.width == WIDTH && pic.height == HEIGHT) {
576 /* 1920:width,1080:height */
577 cameraId = cam;
578 break;
579 }
580 }
581 }
582
583 if (cameraId.empty()) {
584 cout << "No available camera.(1080p wanted)" << endl;
585 return false;
586 } else
587 return true;
588 }
589
590 /* start camera kit interface test */
HWTEST_F(CameraLiteTest,Test_GetInstance_001,Level1)591 HWTEST_F(CameraLiteTest, Test_GetInstance_001, Level1)
592 {
593 CameraKit *cameraKit = CameraKit::GetInstance();
594 EXPECT_NE(cameraKit, nullptr);
595 }
596
HWTEST_F(CameraLiteTest,PrfTest_GetInstance_001,Level1)597 HWTEST_F(CameraLiteTest, PrfTest_GetInstance_001, Level1)
598 {
599 CameraKit *cameraKit = nullptr;
600 struct timespec tv1 = {0};
601 struct timespec tv2 = {0};
602 int64_t performanceTestTimes = 10;
603 int64_t usecTimes = 1000000;
604 int64_t totalTime = 0;
605 for (int32_t i = 0; i < performanceTestTimes; i++) {
606 clock_gettime(CLOCK_REALTIME, &tv1);
607 cameraKit = CameraKit::GetInstance();
608 clock_gettime(CLOCK_REALTIME, &tv2);
609 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
610 }
611 int64_t expectTime = 1000000;
612 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
613 }
614
HWTEST_F(CameraLiteTest,Test_GetCameraIds_001,Level1)615 HWTEST_F(CameraLiteTest, Test_GetCameraIds_001, Level1)
616 {
617 CameraKit *cameraKit = CameraKit::GetInstance();
618 list<string> cameraList = cameraKit->GetCameraIds();
619 EXPECT_TRUE(cameraList.size() > 0);
620 }
621
HWTEST_F(CameraLiteTest,PrfTest_GetCameraIds_001,Level1)622 HWTEST_F(CameraLiteTest, PrfTest_GetCameraIds_001, Level1)
623 {
624 CameraKit *cameraKit = CameraKit::GetInstance();
625 list<string> cameraList;
626 struct timespec tv1 = {0};
627 struct timespec tv2 = {0};
628 int64_t performanceTestTimes = 10;
629 int64_t usecTimes = 1000000;
630 int64_t totalTime = 0;
631 for (int32_t i = 0; i < performanceTestTimes; i++) {
632 clock_gettime(CLOCK_REALTIME, &tv1);
633 cameraList = cameraKit->GetCameraIds();
634 clock_gettime(CLOCK_REALTIME, &tv2);
635 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
636 }
637 int64_t expectTime = 1000000;
638 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
639 }
640
HWTEST_F(CameraLiteTest,Test_GetCameraAbility_001,Level1)641 HWTEST_F(CameraLiteTest, Test_GetCameraAbility_001, Level1)
642 {
643 CameraKit *cameraKit = CameraKit::GetInstance();
644 string cameraId = "0";
645 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
646 EXPECT_NE(ability, nullptr);
647 }
648
HWTEST_F(CameraLiteTest,Test_GetCameraAbility_002,Level1)649 HWTEST_F(CameraLiteTest, Test_GetCameraAbility_002, Level1)
650 {
651 CameraKit *cameraKit = CameraKit::GetInstance();
652 string errorCameraId = "-1";
653 const CameraAbility *ability = cameraKit->GetCameraAbility(errorCameraId);
654 EXPECT_EQ(ability, nullptr);
655 }
656
HWTEST_F(CameraLiteTest,Test_GetCameraAbility_003,Level1)657 HWTEST_F(CameraLiteTest, Test_GetCameraAbility_003, Level1)
658 {
659 CameraKit *cameraKit = CameraKit::GetInstance();
660 string errorCameraId = "main";
661 const CameraAbility *ability = cameraKit->GetCameraAbility(errorCameraId);
662 EXPECT_EQ(ability, nullptr);
663 }
664
HWTEST_F(CameraLiteTest,PrfTest_GetCameraAbility_001,Level1)665 HWTEST_F(CameraLiteTest, PrfTest_GetCameraAbility_001, Level1)
666 {
667 CameraKit *cameraKit = CameraKit::GetInstance();
668 const CameraAbility *ability = nullptr;
669 string cameraId = "0";
670 struct timespec tv1 = {0};
671 struct timespec tv2 = {0};
672 int64_t performanceTestTimes = 10;
673 int64_t usecTimes = 1000000;
674 int64_t totalTime = 0;
675 for (int32_t i = 0; i < performanceTestTimes; i++) {
676 clock_gettime(CLOCK_REALTIME, &tv1);
677 ability = cameraKit->GetCameraAbility(cameraId);
678 clock_gettime(CLOCK_REALTIME, &tv2);
679 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
680 }
681 int64_t expectTime = 1000000;
682 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
683 }
684
HWTEST_F(CameraLiteTest,Test_GetCameraInfo_001,Level1)685 HWTEST_F(CameraLiteTest, Test_GetCameraInfo_001, Level1)
686 {
687 CameraKit *cameraKit = CameraKit::GetInstance();
688 list<string> cameraList = cameraKit->GetCameraIds();
689 for (auto &cameraId : cameraList) {
690 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(cameraId);
691 EXPECT_NE(cameraInfo, nullptr);
692 }
693 }
694
HWTEST_F(CameraLiteTest,Test_GetCameraInfo_002,Level1)695 HWTEST_F(CameraLiteTest, Test_GetCameraInfo_002, Level1)
696 {
697 CameraKit *cameraKit = CameraKit::GetInstance();
698 string errorCameraId = "-1";
699 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(errorCameraId);
700 EXPECT_EQ(cameraInfo, nullptr);
701 }
702
HWTEST_F(CameraLiteTest,Test_GetCameraInfo_003,Level1)703 HWTEST_F(CameraLiteTest, Test_GetCameraInfo_003, Level1)
704 {
705 CameraKit *cameraKit = CameraKit::GetInstance();
706 string errorCameraId = "main";
707 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(errorCameraId);
708 EXPECT_EQ(cameraInfo, nullptr);
709 }
710
HWTEST_F(CameraLiteTest,PrfTest_GetCameraInfo_001,Level1)711 HWTEST_F(CameraLiteTest, PrfTest_GetCameraInfo_001, Level1)
712 {
713 struct timespec tv1 = {0};
714 struct timespec tv2 = {0};
715 CameraKit *cameraKit = CameraKit::GetInstance();
716 string cameraId = "0";
717 int64_t performanceTestTimes = 10;
718 int64_t usecTimes = 1000000;
719 int64_t totalTime = 0;
720 for (int32_t i = 0; i < performanceTestTimes; i++) {
721 clock_gettime(CLOCK_REALTIME, &tv1);
722 cameraKit->GetCameraInfo(cameraId);
723 clock_gettime(CLOCK_REALTIME, &tv2);
724 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
725 }
726 int64_t expectTime = 1000000;
727 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
728 }
729
HWTEST_F(CameraLiteTest,Test_RegisterCameraDeviceCallback_001,Level1)730 HWTEST_F(CameraLiteTest, Test_RegisterCameraDeviceCallback_001, Level1)
731 {
732 CameraKit *cameraKit = nullptr;
733 list<string> cameraList;
734 string cameraId;
735 EventHandler eventHdlr;
736 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
737 SampleCameraStateMng camStateMng(eventHdlr);
738 SampleCameraDeviceCallback deviceCallback = SampleCameraDeviceCallback();
739 g_onCameraAvailableFlag = false;
740 cameraKit->RegisterCameraDeviceCallback(deviceCallback, eventHdlr);
741 sleep(2);
742 EXPECT_TRUE(g_onCameraAvailableFlag);
743 }
744
HWTEST_F(CameraLiteTest,PrfTest_RegisterCameraDeviceCallback_001,Level1)745 HWTEST_F(CameraLiteTest, PrfTest_RegisterCameraDeviceCallback_001, Level1)
746 {
747 CameraKit *cameraKit = nullptr;
748 list<string> cameraList;
749 string cameraId;
750 EventHandler eventHdlr;
751 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
752 SampleCameraStateMng camStateMng(eventHdlr);
753 SampleCameraDeviceCallback deviceCallback = SampleCameraDeviceCallback();
754 struct timespec tv1 = {0};
755 struct timespec tv2 = {0};
756 int64_t performanceTestTimes = 10;
757 int64_t usecTimes = 1000000;
758 int64_t totalTime = 0;
759 for (int32_t i = 0; i < performanceTestTimes; i++) {
760 clock_gettime(CLOCK_REALTIME, &tv1);
761 cameraKit->RegisterCameraDeviceCallback(deviceCallback, eventHdlr);
762 clock_gettime(CLOCK_REALTIME, &tv2);
763 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
764 }
765 int64_t expectTime = 1000000;
766 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
767 }
768
HWTEST_F(CameraLiteTest,Test_UnregisterCameraDeviceCallback_001,Level1)769 HWTEST_F(CameraLiteTest, Test_UnregisterCameraDeviceCallback_001, Level1)
770 {
771 CameraKit *cameraKit = nullptr;
772 list<string> cameraList;
773 string cameraId;
774 EventHandler eventHdlr;
775 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
776 SampleCameraStateMng camStateMng(eventHdlr);
777 SampleCameraDeviceCallback deviceCallback = SampleCameraDeviceCallback();
778 g_onCameraAvailableFlag = false;
779 cameraKit->RegisterCameraDeviceCallback(deviceCallback, eventHdlr);
780 sleep(2);
781 g_onCameraAvailableFlag = false;
782 cameraKit->UnregisterCameraDeviceCallback(deviceCallback);
783 sleep(2);
784 EXPECT_EQ(g_onCameraAvailableFlag, false);
785 }
786
HWTEST_F(CameraLiteTest,PrfTest_UnregisterCameraDeviceCallback_001,Level1)787 HWTEST_F(CameraLiteTest, PrfTest_UnregisterCameraDeviceCallback_001, Level1)
788 {
789 CameraKit *cameraKit = nullptr;
790 list<string> cameraList;
791 string cameraId;
792 EventHandler eventHdlr;
793 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
794 SampleCameraStateMng camStateMng(eventHdlr);
795 SampleCameraDeviceCallback deviceCallback = SampleCameraDeviceCallback();
796 struct timespec tv1 = {0};
797 struct timespec tv2 = {0};
798 int64_t performanceTestTimes = 10;
799 int64_t usecTimes = 1000000;
800 int64_t totalTime = 0;
801 for (int32_t i = 0; i < performanceTestTimes; i++) {
802 cameraKit->RegisterCameraDeviceCallback(deviceCallback, eventHdlr);
803 clock_gettime(CLOCK_REALTIME, &tv1);
804 cameraKit->UnregisterCameraDeviceCallback(deviceCallback);
805 clock_gettime(CLOCK_REALTIME, &tv2);
806 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
807 }
808 int64_t expectTime = 1000000;
809 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
810 }
811
HWTEST_F(CameraLiteTest,Test_CreateCamera_001,Level1)812 HWTEST_F(CameraLiteTest, Test_CreateCamera_001, Level1)
813 {
814 CameraKit *cameraKit = CameraKit::GetInstance();
815 string cameraId = "0";
816 EventHandler eventHdlr;
817 SampleCameraStateMng camStateMng(eventHdlr);
818 g_onCreatedFlag = false;
819 g_onCreateFailedFlag = false;
820 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
821 sleep(2);
822 EXPECT_EQ(g_onCreatedFlag, true);
823 EXPECT_EQ(g_onCreateFailedFlag, false);
824 }
825
HWTEST_F(CameraLiteTest,Test_CreateCamera_002,Level1)826 HWTEST_F(CameraLiteTest, Test_CreateCamera_002, Level1)
827 {
828 CameraKit *cameraKit = CameraKit::GetInstance();
829 string cameraId = "main";
830 EventHandler eventHdlr;
831 SampleCameraStateMng camStateMng(eventHdlr);
832 g_onCreatedFlag = false;
833 g_onCreateFailedFlag = false;
834 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
835 sleep(2);
836 EXPECT_EQ(g_onCreatedFlag, false);
837 EXPECT_EQ(g_onCreateFailedFlag, true);
838 }
839
HWTEST_F(CameraLiteTest,Test_CreateCamera_003,Level1)840 HWTEST_F(CameraLiteTest, Test_CreateCamera_003, Level1)
841 {
842 CameraKit *cameraKit = CameraKit::GetInstance();
843 list<string> cameraList;
844 string cameraId = "0";
845 EventHandler eventHdlr;
846 g_onCreatedFlag = false;
847 g_onCreateFailedFlag = false;
848 SampleCameraStateMng camStateMng(eventHdlr);
849 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
850 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
851 sleep(2);
852 EXPECT_EQ(g_onCreatedFlag, true);
853 }
854
HWTEST_F(CameraLiteTest,Test_CreateCamera_004,Level1)855 HWTEST_F(CameraLiteTest, Test_CreateCamera_004, Level1)
856 {
857 CameraKit *cameraKit = CameraKit::GetInstance();
858 string cameraId = "0";
859 EventHandler eventHdlr;
860 g_onCreatedFlag = false;
861 g_onCreateFailedFlag = false;
862 SampleCameraStateMng camStateMng(eventHdlr);
863 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
864 sleep(2);
865 cameraId = "-1";
866 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
867 sleep(2);
868 EXPECT_EQ(g_onCreatedFlag, true);
869 EXPECT_EQ(g_onCreateFailedFlag, true);
870 }
871
HWTEST_F(CameraLiteTest,PrfTest_CreateCamera_001,Level1)872 HWTEST_F(CameraLiteTest, PrfTest_CreateCamera_001, Level1)
873 {
874 CameraKit *cameraKit = CameraKit::GetInstance();
875 string cameraId = "0";
876 EventHandler eventHdlr;
877 SampleCameraStateMng camStateMng(eventHdlr);
878 struct timespec tv1 = {0};
879 struct timespec tv2 = {0};
880 int64_t performanceTestTimes = 10;
881 int64_t totalTime = 0;
882 int64_t usecTimes = 1000000;
883 for (int32_t i = 0; i < performanceTestTimes; i++) {
884 clock_gettime(CLOCK_REALTIME, &tv1);
885 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
886 clock_gettime(CLOCK_REALTIME, &tv2);
887 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
888 }
889 int64_t expectTime = 500000000;
890 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
891 } /* end camera kit interface test */
892
893 /* start camera ability interface test */
HWTEST_F(CameraLiteTest,Test_GetSupportedSizes_001,Level1)894 HWTEST_F(CameraLiteTest, Test_GetSupportedSizes_001, Level1)
895 {
896 CameraKit *cameraKit = CameraKit::GetInstance();
897 list<string> cameraList = cameraKit->GetCameraIds();
898 for (auto &cameraId : cameraList) {
899 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
900 list<CameraPicSize> cameraPicSizes = ability->GetSupportedSizes(0);
901 EXPECT_TRUE(cameraPicSizes.size() > 0);
902 }
903 }
904
HWTEST_F(CameraLiteTest,PrfTest_GetSupportedSizes_001,Level1)905 HWTEST_F(CameraLiteTest, PrfTest_GetSupportedSizes_001, Level1)
906 {
907 CameraKit *cameraKit = CameraKit::GetInstance();
908 string cameraId = "0";
909 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
910 struct timespec tv1 = {0};
911 struct timespec tv2 = {0};
912 int64_t performanceTestTimes = 10;
913 int64_t usecTimes = 1000000;
914 int64_t totalTime = 0;
915 for (int32_t i = 0; i < performanceTestTimes; i++) {
916 clock_gettime(CLOCK_REALTIME, &tv1);
917 ability->GetSupportedSizes(0);
918 clock_gettime(CLOCK_REALTIME, &tv2);
919 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
920 }
921 int64_t expectTime = 1000000;
922 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
923 }
924
HWTEST_F(CameraLiteTest,Test_GetSupportedAfModes_001,Level1)925 HWTEST_F(CameraLiteTest, Test_GetSupportedAfModes_001, Level1)
926 {
927 CameraKit *cameraKit = CameraKit::GetInstance();
928 list<string> cameraList = cameraKit->GetCameraIds();
929 for (auto &cameraId : cameraList) {
930 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
931 list<int32_t> afModes = ability->GetSupportedAfModes();
932 EXPECT_TRUE(afModes.size() >= 0);
933 }
934 }
935
HWTEST_F(CameraLiteTest,PrfTest_GetSupportedAfModes_001,Level1)936 HWTEST_F(CameraLiteTest, PrfTest_GetSupportedAfModes_001, Level1)
937 {
938 CameraKit *cameraKit = CameraKit::GetInstance();
939 string cameraId = "0";
940 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
941 struct timespec tv1 = {0};
942 struct timespec tv2 = {0};
943 int64_t performanceTestTimes = 10;
944 int64_t usecTimes = 1000000;
945 int64_t totalTime = 0;
946 for (int32_t i = 0; i < performanceTestTimes; i++) {
947 clock_gettime(CLOCK_REALTIME, &tv1);
948 ability->GetSupportedAfModes();
949 clock_gettime(CLOCK_REALTIME, &tv2);
950 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
951 }
952 int64_t expectTime = 1000000;
953 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
954 }
955
HWTEST_F(CameraLiteTest,Test_GetSupportedAeModes_001,Level1)956 HWTEST_F(CameraLiteTest, Test_GetSupportedAeModes_001, Level1)
957 {
958 CameraKit *cameraKit = CameraKit::GetInstance();
959 list<string> cameraList = cameraKit->GetCameraIds();
960 for (auto &cameraId : cameraList) {
961 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
962 list<int32_t> aeModes = ability->GetSupportedAeModes();
963 EXPECT_TRUE(aeModes.size() >= 0);
964 }
965 }
966
HWTEST_F(CameraLiteTest,PrfTest_GetSupportedAeModes_001,Level1)967 HWTEST_F(CameraLiteTest, PrfTest_GetSupportedAeModes_001, Level1)
968 {
969 CameraKit *cameraKit = CameraKit::GetInstance();
970 string cameraId = "0";
971 const CameraAbility *ability = cameraKit->GetCameraAbility(cameraId);
972 struct timespec tv1 = {0};
973 struct timespec tv2 = {0};
974 int64_t performanceTestTimes = 10;
975 int64_t totalTime = 0;
976 int64_t usecTimes = 1000000;
977 for (int32_t i = 0; i < performanceTestTimes; i++) {
978 clock_gettime(CLOCK_REALTIME, &tv1);
979 ability->GetSupportedAeModes();
980 clock_gettime(CLOCK_REALTIME, &tv2);
981 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
982 }
983 int64_t expectTime = 1000000;
984 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
985 } /* end camera ability interface test*/
986
987 /* start camera state callback test */
HWTEST_F(CameraLiteTest,Test_OnCreate_001,Level1)988 HWTEST_F(CameraLiteTest, Test_OnCreate_001, Level1)
989 {
990 CameraKit *cameraKit = CameraKit::GetInstance();
991 string cameraId = "0";
992 EventHandler eventHdlr;
993 SampleCameraStateMng camStateMng(eventHdlr);
994 g_onCreatedFlag = false;
995 g_onCreateFailedFlag = false;
996 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
997 sleep(2);
998 EXPECT_EQ(g_onCreatedFlag, true);
999 EXPECT_EQ(g_onCreateFailedFlag, false);
1000 }
1001
HWTEST_F(CameraLiteTest,Test_OnCreate_002,Level1)1002 HWTEST_F(CameraLiteTest, Test_OnCreate_002, Level1)
1003 {
1004 CameraKit *cameraKit = CameraKit::GetInstance();
1005 string cameraId = "0";
1006 EventHandler eventHdlr;
1007 SampleCameraStateMng camStateMng(eventHdlr);
1008 g_onCreatedFlag = false;
1009 g_onCreateFailedFlag = false;
1010 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1011 sleep(2);
1012 camStateMng.Stop();
1013 EXPECT_EQ(g_onCreatedFlag, true);
1014 EXPECT_NE(g_onCreateFailedFlag, true);
1015 }
1016
HWTEST_F(CameraLiteTest,Test_OnCreateFailed_001,Level1)1017 HWTEST_F(CameraLiteTest, Test_OnCreateFailed_001, Level1)
1018 {
1019 CameraKit *cameraKit = CameraKit::GetInstance();
1020 string cameraId = "-1";
1021 EventHandler eventHdlr;
1022 SampleCameraStateMng camStateMng(eventHdlr);
1023 g_onCreateFailedFlag = false;
1024 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1025 sleep(2);
1026 EXPECT_EQ(g_onCreateFailedFlag, true);
1027 }
1028
HWTEST_F(CameraLiteTest,Test_OnCreateFailed_002,Level1)1029 HWTEST_F(CameraLiteTest, Test_OnCreateFailed_002, Level1)
1030 {
1031 CameraKit *cameraKit = CameraKit::GetInstance();
1032 string cameraId = "main";
1033 EventHandler eventHdlr;
1034 SampleCameraStateMng camStateMng(eventHdlr);
1035 g_onCreateFailedFlag = false;
1036 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1037 sleep(2);
1038 EXPECT_EQ(g_onCreateFailedFlag, true);
1039 } /* end camera state callback test */
1040
1041 /* start frame config & frame state call back interface test */
HWTEST_F(CameraLiteTest,Test_FrameConfig_001,Level1)1042 HWTEST_F(CameraLiteTest, Test_FrameConfig_001, Level1)
1043 {
1044 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1045 EXPECT_NE(frameConfig.get(), nullptr);
1046 }
1047
HWTEST_F(CameraLiteTest,Test_FrameConfig_002,Level1)1048 HWTEST_F(CameraLiteTest, Test_FrameConfig_002, Level1)
1049 {
1050 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1051 EXPECT_NE(frameConfig.get(), nullptr);
1052 }
1053
HWTEST_F(CameraLiteTest,Test_FrameConfig_003,Level1)1054 HWTEST_F(CameraLiteTest, Test_FrameConfig_003, Level1)
1055 {
1056 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1057 EXPECT_NE(frameConfig.get(), nullptr);
1058 }
1059
HWTEST_F(CameraLiteTest,Test_FrameConfig_004,Level1)1060 HWTEST_F(CameraLiteTest, Test_FrameConfig_004, Level1)
1061 {
1062 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1063 EXPECT_NE(frameConfig.get(), nullptr);
1064 }
1065
HWTEST_F(CameraLiteTest,PrfTest_Frameconfig_001,Level1)1066 HWTEST_F(CameraLiteTest, PrfTest_Frameconfig_001, Level1)
1067 {
1068 shared_ptr<FrameConfig> frameConfig = nullptr;
1069 struct timespec tv1 = {0};
1070 struct timespec tv2 = {0};
1071 int64_t performanceTestTimes = 10;
1072 int64_t usecTimes = 1000000;
1073 int64_t totalTime = 0;
1074 for (int32_t i = 0; i < performanceTestTimes; i++) {
1075 clock_gettime(CLOCK_REALTIME, &tv1);
1076 frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1077 clock_gettime(CLOCK_REALTIME, &tv2);
1078 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1079 }
1080 int64_t expectTime = 1000000;
1081 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1082 }
1083
HWTEST_F(CameraLiteTest,PrfTest_Frameconfig_002,Level1)1084 HWTEST_F(CameraLiteTest, PrfTest_Frameconfig_002, Level1)
1085 {
1086 shared_ptr<FrameConfig> frameConfig = nullptr;
1087 struct timespec tv1 = {0};
1088 struct timespec tv2 = {0};
1089 int64_t performanceTestTimes = 10;
1090 int64_t usecTimes = 1000000;
1091 int64_t totalTime = 0;
1092 for (int32_t i = 0; i < performanceTestTimes; i++) {
1093 clock_gettime(CLOCK_REALTIME, &tv1);
1094 frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1095 clock_gettime(CLOCK_REALTIME, &tv2);
1096 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1097 }
1098 int64_t expectTime = 1000000;
1099 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1100 }
1101
HWTEST_F(CameraLiteTest,PrfTest_Frameconfig_003,Level1)1102 HWTEST_F(CameraLiteTest, PrfTest_Frameconfig_003, Level1)
1103 {
1104 shared_ptr<FrameConfig> frameConfig = nullptr;
1105 struct timespec tv1 = {0};
1106 struct timespec tv2 = {0};
1107 int64_t performanceTestTimes = 10;
1108 int64_t usecTimes = 1000000;
1109 int64_t totalTime = 0;
1110 for (int32_t i = 0; i < performanceTestTimes; i++) {
1111 clock_gettime(CLOCK_REALTIME, &tv1);
1112 frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1113 clock_gettime(CLOCK_REALTIME, &tv2);
1114 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1115 }
1116 int64_t expectTime = 1000000;
1117 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1118 }
1119
HWTEST_F(CameraLiteTest,PrfTest_Frameconfig_004,Level1)1120 HWTEST_F(CameraLiteTest, PrfTest_Frameconfig_004, Level1)
1121 {
1122 shared_ptr<FrameConfig> frameConfig = nullptr;
1123 struct timespec tv1 = {0};
1124 struct timespec tv2 = {0};
1125 int64_t performanceTestTimes = 10;
1126 int64_t usecTimes = 1000000;
1127 int64_t totalTime = 0;
1128 for (int32_t i = 0; i < performanceTestTimes; i++) {
1129 clock_gettime(CLOCK_REALTIME, &tv1);
1130 frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1131 clock_gettime(CLOCK_REALTIME, &tv2);
1132 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1133 }
1134 int64_t expectTime = 1000000;
1135 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1136 }
1137
HWTEST_F(CameraLiteTest,Test_GetFrameConfigureType_001,Level1)1138 HWTEST_F(CameraLiteTest, Test_GetFrameConfigureType_001, Level1)
1139 {
1140 CameraKit *cameraKit = CameraKit::GetInstance();
1141 string cameraId = "0";
1142 EventHandler eventHdlr;
1143 SampleCameraStateMng camStateMng(eventHdlr);
1144 g_onGetFrameConfigureType = false;
1145 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1146 sleep(2);
1147 camStateMng.Capture();
1148 sleep(2);
1149 EXPECT_EQ(g_onGetFrameConfigureType, true);
1150 }
1151
HWTEST_F(CameraLiteTest,Test_GetFrameConfigureType_002,Level1)1152 HWTEST_F(CameraLiteTest, Test_GetFrameConfigureType_002, Level1)
1153 {
1154 CameraKit *cameraKit = CameraKit::GetInstance();
1155 string cameraId = "0";
1156 EventHandler eventHdlr;
1157 SampleCameraStateMng camStateMng(eventHdlr);
1158 g_onGetFrameConfigureType = false;
1159 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1160 sleep(2);
1161 camStateMng.Capture();
1162 sleep(2);
1163 camStateMng.Stop();
1164 EXPECT_EQ(g_onGetFrameConfigureType, true);
1165 }
1166
HWTEST_F(CameraLiteTest,Test_GetFrameConfigureType_003,Level1)1167 HWTEST_F(CameraLiteTest, Test_GetFrameConfigureType_003, Level1)
1168 {
1169 CameraKit *cameraKit = CameraKit::GetInstance();
1170 string cameraId = "0";
1171 EventHandler eventHdlr;
1172 SampleCameraStateMng camStateMng(eventHdlr);
1173 g_onGetFrameConfigureType = false;
1174 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1175 sleep(2);
1176 camStateMng.StartPreview();
1177 sleep(2);
1178 camStateMng.Stop();
1179 EXPECT_EQ(g_onGetFrameConfigureType, false);
1180 }
1181
HWTEST_F(CameraLiteTest,Test_GetFrameConfigureType_004,Level1)1182 HWTEST_F(CameraLiteTest, Test_GetFrameConfigureType_004, Level1)
1183 {
1184 CameraKit *cameraKit = CameraKit::GetInstance();
1185 string cameraId = "0";
1186 EventHandler eventHdlr;
1187 SampleCameraStateMng camStateMng(eventHdlr);
1188 g_onGetFrameConfigureType = false;
1189 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1190 sleep(2);
1191 camStateMng.Capture();
1192 sleep(2);
1193 camStateMng.StartPreview();
1194 sleep(2);
1195 camStateMng.Stop();
1196 EXPECT_EQ(g_onGetFrameConfigureType, true);
1197 }
1198
HWTEST_F(CameraLiteTest,Test_GetFrameConfigureType_005,Level1)1199 HWTEST_F(CameraLiteTest, Test_GetFrameConfigureType_005, Level1)
1200 {
1201 CameraKit *cameraKit = CameraKit::GetInstance();
1202 string cameraId = "0";
1203 EventHandler eventHdlr;
1204 SampleCameraStateMng camStateMng(eventHdlr);
1205 g_onGetFrameConfigureType = false;
1206 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1207 sleep(2);
1208 camStateMng.StartPreview();
1209 sleep(2);
1210 camStateMng.Capture();
1211 sleep(2);
1212 camStateMng.Stop();
1213 EXPECT_EQ(g_onGetFrameConfigureType, true);
1214 }
1215
HWTEST_F(CameraLiteTest,Test_SetVendorParameter_001,Level1)1216 HWTEST_F(CameraLiteTest, Test_SetVendorParameter_001, Level1)
1217 {
1218 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1219 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1220 privateTag[4] = 5;
1221 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1222 uint8_t *privateTagTemp = new uint8_t[10];
1223 frameConfig->GetVendorParameter(privateTagTemp, 10);
1224 EXPECT_TRUE(privateTagTemp[4] == 5);
1225 delete[] privateTag;
1226 delete[] privateTagTemp;
1227 }
1228
HWTEST_F(CameraLiteTest,Test_SetVendorParameter_002,Level1)1229 HWTEST_F(CameraLiteTest, Test_SetVendorParameter_002, Level1)
1230 {
1231 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1232 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1233 privateTag[10] = 10;
1234 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1235 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1236 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1237 EXPECT_TRUE(privateTagTemp[10] == 10);
1238 delete[] privateTag;
1239 delete[] privateTagTemp;
1240 }
1241
HWTEST_F(CameraLiteTest,Test_SetVendorParameter_003,Level1)1242 HWTEST_F(CameraLiteTest, Test_SetVendorParameter_003, Level1)
1243 {
1244 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1245 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1246 privateTag[0] = 1;
1247 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1248 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1249 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1250 EXPECT_TRUE(privateTagTemp[0] == 1);
1251 delete[] privateTag;
1252 delete[] privateTagTemp;
1253 }
1254
HWTEST_F(CameraLiteTest,Test_SetVendorParameter_004,Level1)1255 HWTEST_F(CameraLiteTest, Test_SetVendorParameter_004, Level1)
1256 {
1257 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1258 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1259 privateTag[31] = 31;
1260 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1261 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1262 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1263 EXPECT_TRUE(privateTagTemp[31] == 31);
1264 delete[] privateTag;
1265 delete[] privateTagTemp;
1266 }
1267
HWTEST_F(CameraLiteTest,PrfTest_SetVendorParameter_001,Level1)1268 HWTEST_F(CameraLiteTest, PrfTest_SetVendorParameter_001, Level1)
1269 {
1270 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1271 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1272 privateTag[1] = 1;
1273 struct timespec tv1 = {0};
1274 struct timespec tv2 = {0};
1275 int64_t performanceTestTimes = 10;
1276 int64_t usecTimes = 1000000;
1277 int64_t totalTime = 0;
1278 for (int32_t i = 0; i < performanceTestTimes; i++) {
1279 clock_gettime(CLOCK_REALTIME, &tv1);
1280 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1281 clock_gettime(CLOCK_REALTIME, &tv2);
1282 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1283 }
1284 int64_t expectTime = 1000000;
1285 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1286 delete[] privateTag;
1287 }
1288
HWTEST_F(CameraLiteTest,PrfTest_SetVendorParameter_002,Level1)1289 HWTEST_F(CameraLiteTest, PrfTest_SetVendorParameter_002, Level1)
1290 {
1291 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1292 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1293 privateTag[2] = 2;
1294 struct timespec tv1 = {0};
1295 struct timespec tv2 = {0};
1296 int64_t performanceTestTimes = 10;
1297 int64_t usecTimes = 1000000;
1298 int64_t totalTime = 0;
1299 for (int32_t i = 0; i < performanceTestTimes; i++) {
1300 clock_gettime(CLOCK_REALTIME, &tv1);
1301 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1302 clock_gettime(CLOCK_REALTIME, &tv2);
1303 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1304 }
1305 int64_t expectTime = 1000000;
1306 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1307 delete[] privateTag;
1308 }
1309
HWTEST_F(CameraLiteTest,PrfTest_SetVendorParameter_003,Level1)1310 HWTEST_F(CameraLiteTest, PrfTest_SetVendorParameter_003, Level1)
1311 {
1312 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1313 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1314 privateTag[3] = 3;
1315 struct timespec tv1 = {0};
1316 struct timespec tv2 = {0};
1317 int64_t performanceTestTimes = 10;
1318 int64_t usecTimes = 1000000;
1319 int64_t totalTime = 0;
1320 for (int32_t i = 0; i < performanceTestTimes; i++) {
1321 clock_gettime(CLOCK_REALTIME, &tv1);
1322 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1323 clock_gettime(CLOCK_REALTIME, &tv2);
1324 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1325 }
1326 int64_t expectTime = 1000000;
1327 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1328 delete[] privateTag;
1329 }
1330
HWTEST_F(CameraLiteTest,PrfTest_SetVendorParameter_004,Level1)1331 HWTEST_F(CameraLiteTest, PrfTest_SetVendorParameter_004, Level1)
1332 {
1333 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1334 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1335 privateTag[4] = 4;
1336 struct timespec tv1 = {0};
1337 struct timespec tv2 = {0};
1338 int64_t performanceTestTimes = 10;
1339 int64_t usecTimes = 1000000;
1340 int64_t totalTime = 0;
1341 for (int32_t i = 0; i < performanceTestTimes; i++) {
1342 clock_gettime(CLOCK_REALTIME, &tv1);
1343 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1344 clock_gettime(CLOCK_REALTIME, &tv2);
1345 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1346 }
1347 int64_t expectTime = 1000000;
1348 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1349 delete[] privateTag;
1350 }
1351
HWTEST_F(CameraLiteTest,PrfTest_GetVendorParameter_001,Level1)1352 HWTEST_F(CameraLiteTest, PrfTest_GetVendorParameter_001, Level1)
1353 {
1354 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1355 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1356 privateTag[1] = 1;
1357 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1358 struct timespec tv1 = {0};
1359 struct timespec tv2 = {0};
1360 int64_t performanceTestTimes = 10;
1361 int64_t usecTimes = 1000000;
1362 int64_t totalTime = 0;
1363 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1364 for (int32_t i = 0; i < performanceTestTimes; i++) {
1365 clock_gettime(CLOCK_REALTIME, &tv1);
1366 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1367 clock_gettime(CLOCK_REALTIME, &tv2);
1368 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1369 }
1370 int64_t expectTime = 1000000;
1371 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1372 delete[] privateTag;
1373 delete[] privateTagTemp;
1374 }
1375
HWTEST_F(CameraLiteTest,PrfTest_GetVendorParameter_002,Level1)1376 HWTEST_F(CameraLiteTest, PrfTest_GetVendorParameter_002, Level1)
1377 {
1378 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1379 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1380 privateTag[2] = 2;
1381 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1382 struct timespec tv1 = {0};
1383 struct timespec tv2 = {0};
1384 int64_t performanceTestTimes = 10;
1385 int64_t usecTimes = 1000000;
1386 int64_t totalTime = 0;
1387 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1388 for (int32_t i = 0; i < performanceTestTimes; i++) {
1389 clock_gettime(CLOCK_REALTIME, &tv1);
1390 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1391 clock_gettime(CLOCK_REALTIME, &tv2);
1392 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1393 }
1394 int64_t expectTime = 1000000;
1395 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1396 delete[] privateTag;
1397 delete[] privateTagTemp;
1398 }
1399
HWTEST_F(CameraLiteTest,PrfTest_GetVendorParameter_003,Level1)1400 HWTEST_F(CameraLiteTest, PrfTest_GetVendorParameter_003, Level1)
1401 {
1402 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1403 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1404 privateTag[3] = 3;
1405 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1406 struct timespec tv1 = {0};
1407 struct timespec tv2 = {0};
1408 int64_t performanceTestTimes = 10;
1409 int64_t usecTimes = 1000000;
1410 int64_t totalTime = 0;
1411 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1412 for (int32_t i = 0; i < performanceTestTimes; i++) {
1413 clock_gettime(CLOCK_REALTIME, &tv1);
1414 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1415 clock_gettime(CLOCK_REALTIME, &tv2);
1416 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1417 }
1418 int64_t expectTime = 1000000;
1419 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1420 delete[] privateTag;
1421 delete[] privateTagTemp;
1422 }
1423
HWTEST_F(CameraLiteTest,PrfTest_GetVendorParameter_004,Level1)1424 HWTEST_F(CameraLiteTest, PrfTest_GetVendorParameter_004, Level1)
1425 {
1426 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1427 uint8_t *privateTag = new uint8_t[PRIVATE_TAG_LEN];
1428 privateTag[4] = 4;
1429 frameConfig->SetVendorParameter(privateTag, PRIVATE_TAG_LEN);
1430 struct timespec tv1 = {0};
1431 struct timespec tv2 = {0};
1432 int64_t performanceTestTimes = 10;
1433 int64_t usecTimes = 1000000;
1434 int64_t totalTime = 0;
1435 uint8_t *privateTagTemp = new uint8_t[PRIVATE_TAG_LEN];
1436 for (int32_t i = 0; i < performanceTestTimes; i++) {
1437 clock_gettime(CLOCK_REALTIME, &tv1);
1438 frameConfig->GetVendorParameter(privateTagTemp, PRIVATE_TAG_LEN);
1439 clock_gettime(CLOCK_REALTIME, &tv2);
1440 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1441 }
1442 int64_t expectTime = 1000000;
1443 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1444 delete[] privateTag;
1445 delete[] privateTagTemp;
1446 }
1447
HWTEST_F(CameraLiteTest,Test_GetSurface_001,Level1)1448 HWTEST_F(CameraLiteTest, Test_GetSurface_001, Level1)
1449 {
1450 CameraKit *cameraKit = nullptr;
1451 list<string> cameraList;
1452 string cameraId;
1453 EventHandler eventHdlr;
1454 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1455 SampleCameraStateMng camStateMng(eventHdlr);
1456 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1457 sleep(2);
1458 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1459 Surface *surface = Surface::CreateSurface();
1460 surface->SetWidthAndHeight(1920, 1080);
1461 EXPECT_EQ(1920, surface->GetWidth());
1462 EXPECT_EQ(1080, surface->GetHeight());
1463 delete surface;
1464 }
1465
HWTEST_F(CameraLiteTest,Test_GetSurface_002,Level1)1466 HWTEST_F(CameraLiteTest, Test_GetSurface_002, Level1)
1467 {
1468 CameraKit *cameraKit = nullptr;
1469 list<string> cameraList;
1470 string cameraId;
1471 EventHandler eventHdlr;
1472 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1473 SampleCameraStateMng camStateMng(eventHdlr);
1474 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1475 sleep(2);
1476 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1477 Surface *surface = Surface::CreateSurface();
1478 surface->SetWidthAndHeight(480, 360);
1479 EXPECT_EQ(480, surface->GetWidth());
1480 EXPECT_EQ(360, surface->GetHeight());
1481 }
1482
HWTEST_F(CameraLiteTest,Test_GetSurface_003,Level1)1483 HWTEST_F(CameraLiteTest, Test_GetSurface_003, Level1)
1484 {
1485 CameraKit *cameraKit = nullptr;
1486 list<string> cameraList;
1487 string cameraId;
1488 EventHandler eventHdlr;
1489 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1490 SampleCameraStateMng camStateMng(eventHdlr);
1491 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1492 sleep(2);
1493 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1494 Surface *surface = Surface::CreateSurface();
1495 surface->SetWidthAndHeight(1920, 1080);
1496 frameConfig->AddSurface(*surface);
1497 EXPECT_FALSE(frameConfig->GetSurfaces().size() == 0);
1498 }
1499
HWTEST_F(CameraLiteTest,Test_GetSurface_004,Level1)1500 HWTEST_F(CameraLiteTest, Test_GetSurface_004, Level1)
1501 {
1502 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1503 Surface *surface = Surface::CreateSurface();
1504 frameConfig->AddSurface(*surface);
1505 frameConfig->RemoveSurface(*surface);
1506 list<Surface *> list = frameConfig->GetSurfaces();
1507 EXPECT_TRUE(list.size() == 0);
1508 }
1509
HWTEST_F(CameraLiteTest,Test_GetSurface_005,Level1)1510 HWTEST_F(CameraLiteTest, Test_GetSurface_005, Level1)
1511 {
1512 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1513 Surface *surface = Surface::CreateSurface();
1514 frameConfig->AddSurface(*surface);
1515 list<Surface *> list = frameConfig->GetSurfaces();
1516 EXPECT_TRUE(list.size() == 1);
1517 }
1518
HWTEST_F(CameraLiteTest,Test_GetSurface_006,Level1)1519 HWTEST_F(CameraLiteTest, Test_GetSurface_006, Level1)
1520 {
1521 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1522 Surface *surface = Surface::CreateSurface();
1523 frameConfig->AddSurface(*surface);
1524 list<Surface *> list = frameConfig->GetSurfaces();
1525 EXPECT_TRUE(list.size() == 1);
1526 }
1527
HWTEST_F(CameraLiteTest,PrfTest_GetSurfaces_001,Level1)1528 HWTEST_F(CameraLiteTest, PrfTest_GetSurfaces_001, Level1)
1529 {
1530 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1531 Surface *surface = Surface::CreateSurface();
1532 frameConfig->AddSurface(*surface);
1533 struct timespec tv1 = {0};
1534 struct timespec tv2 = {0};
1535 int64_t performanceTestTimes = 10;
1536 int64_t usecTimes = 1000000;
1537 int64_t totalTime = 0;
1538 for (int32_t i = 0; i < performanceTestTimes; i++) {
1539 clock_gettime(CLOCK_REALTIME, &tv1);
1540 frameConfig->GetSurfaces();
1541 clock_gettime(CLOCK_REALTIME, &tv2);
1542 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1543 }
1544 int64_t expectTime = 1000000;
1545 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1546 }
1547
HWTEST_F(CameraLiteTest,PrfTest_GetSurfaces_002,Level1)1548 HWTEST_F(CameraLiteTest, PrfTest_GetSurfaces_002, Level1)
1549 {
1550 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CAPTURE);
1551 Surface *surface = Surface::CreateSurface();
1552 frameConfig->AddSurface(*surface);
1553 struct timespec tv1 = {0};
1554 struct timespec tv2 = {0};
1555 int64_t performanceTestTimes = 10;
1556 int64_t usecTimes = 1000000;
1557 int64_t totalTime = 0;
1558 for (int32_t i = 0; i < performanceTestTimes; i++) {
1559 clock_gettime(CLOCK_REALTIME, &tv1);
1560 frameConfig->GetSurfaces();
1561 clock_gettime(CLOCK_REALTIME, &tv2);
1562 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1563 }
1564 int64_t expectTime = 1000000;
1565 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1566 delete surface;
1567 }
1568
HWTEST_F(CameraLiteTest,PrfTest_GetSurfaces_003,Level1)1569 HWTEST_F(CameraLiteTest, PrfTest_GetSurfaces_003, Level1)
1570 {
1571 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_RECORD);
1572 Surface *surface = Surface::CreateSurface();
1573 frameConfig->AddSurface(*surface);
1574 struct timespec tv1 = {0};
1575 struct timespec tv2 = {0};
1576 int64_t performanceTestTimes = 10;
1577 int64_t usecTimes = 1000000;
1578 int64_t totalTime = 0;
1579 for (int32_t i = 0; i < performanceTestTimes; i++) {
1580 clock_gettime(CLOCK_REALTIME, &tv1);
1581 frameConfig->GetSurfaces();
1582 clock_gettime(CLOCK_REALTIME, &tv2);
1583 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1584 }
1585 int64_t expectTime = 1000000;
1586 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1587 }
1588
HWTEST_F(CameraLiteTest,PrfTest_GetSurfaces_004,Level1)1589 HWTEST_F(CameraLiteTest, PrfTest_GetSurfaces_004, Level1)
1590 {
1591 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_CALLBACK);
1592 Surface *surface = Surface::CreateSurface();
1593 frameConfig->AddSurface(*surface);
1594 struct timespec tv1 = {0};
1595 struct timespec tv2 = {0};
1596 int64_t performanceTestTimes = 10;
1597 int64_t usecTimes = 1000000;
1598 int64_t totalTime = 0;
1599 for (int32_t i = 0; i < performanceTestTimes; i++) {
1600 clock_gettime(CLOCK_REALTIME, &tv1);
1601 frameConfig->GetSurfaces();
1602 clock_gettime(CLOCK_REALTIME, &tv2);
1603 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1604 }
1605 int64_t expectTime = 1000000;
1606 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1607 }
1608
HWTEST_F(CameraLiteTest,Test_OnFrameProgressed_001,Level1)1609 HWTEST_F(CameraLiteTest, Test_OnFrameProgressed_001, Level1)
1610 {
1611 CameraKit *cameraKit = nullptr;
1612 list<string> cameraList;
1613 string cameraId;
1614 EventHandler eventHdlr;
1615 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1616 SampleCameraStateMng camStateMng(eventHdlr);
1617 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1618 sleep(2);
1619 camStateMng.Capture();
1620 sleep(2);
1621 EXPECT_EQ(g_onFrameStartedFlag, true);
1622 EXPECT_EQ(g_onFrameProgressedFlag, true);
1623 }
1624
HWTEST_F(CameraLiteTest,Test_OnFrameCompletedFlag_001,Level1)1625 HWTEST_F(CameraLiteTest, Test_OnFrameCompletedFlag_001, Level1)
1626 {
1627 CameraKit *cameraKit = nullptr;
1628 list<string> cameraList;
1629 string cameraId;
1630 EventHandler eventHdlr;
1631 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1632 SampleCameraStateMng camStateMng(eventHdlr);
1633 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1634 sleep(2);
1635 camStateMng.Capture();
1636 sleep(2);
1637 EXPECT_EQ(g_onFrameFinishedFlag, true);
1638 }
1639
HWTEST_F(CameraLiteTest,Test_OnFrameErrorFlag_001,Level1)1640 HWTEST_F(CameraLiteTest, Test_OnFrameErrorFlag_001, Level1)
1641 {
1642 CameraKit *cameraKit = nullptr;
1643 list<string> cameraList;
1644 string cameraId;
1645 EventHandler eventHdlr;
1646 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1647 SampleCameraStateMng camStateMng(eventHdlr);
1648 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1649 sleep(2);
1650 camStateMng.Capture();
1651 sleep(2);
1652 EXPECT_NE(g_onFrameErrorFlag, true);
1653 }
1654
HWTEST_F(CameraLiteTest,Test_AddSurface_001,Level1)1655 HWTEST_F(CameraLiteTest, Test_AddSurface_001, Level1)
1656 {
1657 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1658 Surface *surface = Surface::CreateSurface();
1659 frameConfig->AddSurface(*surface);
1660 list<Surface *> list = frameConfig->GetSurfaces();
1661 EXPECT_TRUE(list.size() == 1);
1662 }
1663
HWTEST_F(CameraLiteTest,Test_AddSurface_002,Level1)1664 HWTEST_F(CameraLiteTest, Test_AddSurface_002, Level1)
1665 {
1666 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1667 Surface *surface = Surface::CreateSurface();
1668 frameConfig->AddSurface(*surface);
1669 frameConfig->AddSurface(*surface);
1670 list<Surface *> list = frameConfig->GetSurfaces();
1671 EXPECT_TRUE(list.size() == 1);
1672 }
1673
HWTEST_F(CameraLiteTest,Test_AddSurface_003,Level1)1674 HWTEST_F(CameraLiteTest, Test_AddSurface_003, Level1)
1675 {
1676 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1677 Surface *surface = Surface::CreateSurface();
1678 frameConfig->AddSurface(*surface);
1679 frameConfig->AddSurface(*surface);
1680 frameConfig->AddSurface(*surface);
1681 list<Surface *> list = frameConfig->GetSurfaces();
1682 EXPECT_TRUE(list.size() == 1);
1683 }
1684
HWTEST_F(CameraLiteTest,PrfTest_AddSurface_001,Level1)1685 HWTEST_F(CameraLiteTest, PrfTest_AddSurface_001, Level1)
1686 {
1687 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1688 Surface *surface = Surface::CreateSurface();
1689 struct timespec tv1 = {0};
1690 struct timespec tv2 = {0};
1691 int64_t performanceTestTimes = 10;
1692 int64_t usecTimes = 1000000;
1693 int64_t totalTime = 0;
1694 for (int32_t i = 0; i < performanceTestTimes; i++) {
1695 clock_gettime(CLOCK_REALTIME, &tv1);
1696 frameConfig->AddSurface(*surface);
1697 clock_gettime(CLOCK_REALTIME, &tv2);
1698 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1699 }
1700 int64_t expectTime = 1000000;
1701 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1702 }
1703
HWTEST_F(CameraLiteTest,Test_RemoveSurface_001,Level1)1704 HWTEST_F(CameraLiteTest, Test_RemoveSurface_001, Level1)
1705 {
1706 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1707 Surface *surface = Surface::CreateSurface();
1708 frameConfig->AddSurface(*surface);
1709 frameConfig->RemoveSurface(*surface);
1710 list<Surface *> list = frameConfig->GetSurfaces();
1711 EXPECT_TRUE(list.size() == 0);
1712 }
1713
HWTEST_F(CameraLiteTest,Test_RemoveSurface_002,Level1)1714 HWTEST_F(CameraLiteTest, Test_RemoveSurface_002, Level1)
1715 {
1716 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1717 Surface *surface = Surface::CreateSurface();
1718 Surface *surface1 = Surface::CreateSurface();
1719 frameConfig->AddSurface(*surface);
1720 frameConfig->AddSurface(*surface1);
1721 frameConfig->RemoveSurface(*surface1);
1722 list<Surface *> list = frameConfig->GetSurfaces();
1723 EXPECT_TRUE(list.size() == 1);
1724 }
1725
HWTEST_F(CameraLiteTest,Test_RemoveSurface_003,Level1)1726 HWTEST_F(CameraLiteTest, Test_RemoveSurface_003, Level1)
1727 {
1728 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1729 Surface *surface = Surface::CreateSurface();
1730 Surface *surface1 = Surface::CreateSurface();
1731 frameConfig->AddSurface(*surface);
1732 frameConfig->AddSurface(*surface1);
1733 frameConfig->RemoveSurface(*surface);
1734 frameConfig->RemoveSurface(*surface1);
1735 list<Surface *> list = frameConfig->GetSurfaces();
1736 EXPECT_TRUE(list.size() == 0);
1737 }
1738
HWTEST_F(CameraLiteTest,PrfTest_RemoveSurface_001,Level1)1739 HWTEST_F(CameraLiteTest, PrfTest_RemoveSurface_001, Level1)
1740 {
1741 shared_ptr<FrameConfig> frameConfig = make_shared<FrameConfig>(FRAME_CONFIG_PREVIEW);
1742 Surface *surface = Surface::CreateSurface();
1743 struct timespec tv1 = {0};
1744 struct timespec tv2 = {0};
1745 int64_t performanceTestTimes = 10;
1746 int64_t usecTimes = 1000000;
1747 int64_t totalTime = 0;
1748 for (int32_t i = 0; i < performanceTestTimes; i++) {
1749 frameConfig->AddSurface(*surface);
1750 clock_gettime(CLOCK_REALTIME, &tv1);
1751 frameConfig->RemoveSurface(*surface);
1752 clock_gettime(CLOCK_REALTIME, &tv2);
1753 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
1754 }
1755 int64_t expectTime = 1000000;
1756 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
1757 }
1758
HWTEST_F(CameraLiteTest,Test_Capture_001,Level1)1759 HWTEST_F(CameraLiteTest, Test_Capture_001, Level1)
1760 {
1761 CameraKit *cameraKit = nullptr;
1762 list<string> cameraList;
1763 string cameraId;
1764 EventHandler eventHdlr;
1765 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1766 SampleCameraStateMng camStateMng(eventHdlr);
1767 g_onCaptureTriggerStartedFlag = false;
1768 g_onCaptureTriggerCompletedFlag = false;
1769 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1770 sleep(2);
1771 camStateMng.Capture();
1772 sleep(2);
1773 EXPECT_EQ(g_onCaptureTriggerStartedFlag, true);
1774 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, true);
1775 }
1776
HWTEST_F(CameraLiteTest,Test_Capture_002,Level1)1777 HWTEST_F(CameraLiteTest, Test_Capture_002, Level1)
1778 {
1779 CameraKit *cameraKit = CameraKit::GetInstance();
1780 string cameraId = "0";
1781 EventHandler eventHdlr;
1782 SampleCameraStateMng camStateMng(eventHdlr);
1783 g_onCaptureTriggerStartedFlag = false;
1784 g_onCaptureTriggerCompletedFlag = false;
1785 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1786 sleep(2);
1787 camStateMng.StartPreview();
1788 sleep(2);
1789 camStateMng.Capture();
1790 sleep(2);
1791 camStateMng.Stop();
1792 sleep(2);
1793 EXPECT_EQ(g_onCaptureTriggerStartedFlag, true);
1794 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, true);
1795 }
1796
HWTEST_F(CameraLiteTest,Test_Capture_003,Level1)1797 HWTEST_F(CameraLiteTest, Test_Capture_003, Level1)
1798 {
1799 CameraKit *cameraKit = CameraKit::GetInstance();
1800 string cameraId = "0";
1801 EventHandler eventHdlr;
1802 SampleCameraStateMng camStateMng(eventHdlr);
1803 g_onCaptureTriggerStartedFlag = false;
1804 g_onCaptureTriggerCompletedFlag = false;
1805 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1806 sleep(2);
1807 camStateMng.StartPreview();
1808 sleep(2);
1809 camStateMng.Stop();
1810 sleep(2);
1811 EXPECT_EQ(g_onCaptureTriggerStartedFlag, false);
1812 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, false);
1813 }
1814
HWTEST_F(CameraLiteTest,Test_Capture_004,Level1)1815 HWTEST_F(CameraLiteTest, Test_Capture_004, Level1)
1816 {
1817 CameraKit *cameraKit = nullptr;
1818 list<string> cameraList;
1819 string cameraId;
1820 EventHandler eventHdlr;
1821 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1822 SampleCameraStateMng camStateMng(eventHdlr);
1823 g_onCaptureTriggerStartedFlag = false;
1824 g_onCaptureTriggerCompletedFlag = false;
1825 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1826 sleep(2);
1827 camStateMng.Capture();
1828 sleep(2);
1829 camStateMng.Stop();
1830 sleep(2);
1831 EXPECT_EQ(g_onCaptureTriggerStartedFlag, true);
1832 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, true);
1833 }
1834
HWTEST_F(CameraLiteTest,Test_Capture_005,Level1)1835 HWTEST_F(CameraLiteTest, Test_Capture_005, Level1)
1836 {
1837 CameraKit *cameraKit = nullptr;
1838 list<string> cameraList;
1839 string cameraId;
1840 EventHandler eventHdlr;
1841 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1842 SampleCameraStateMng camStateMng(eventHdlr);
1843 g_onCaptureTriggerStartedFlag = false;
1844 g_onCaptureTriggerCompletedFlag = false;
1845 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1846 sleep(2);
1847 camStateMng.Capture();
1848 sleep(2);
1849 camStateMng.Capture();
1850 sleep(2);
1851 EXPECT_EQ(g_onCaptureTriggerStartedFlag, true);
1852 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, true);
1853 }
1854
HWTEST_F(CameraLiteTest,Test_Capture_006,Level1)1855 HWTEST_F(CameraLiteTest, Test_Capture_006, Level1)
1856 {
1857 CameraKit *cameraKit = nullptr;
1858 list<string> cameraList;
1859 string cameraId;
1860 EventHandler eventHdlr;
1861 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1862 SampleCameraStateMng camStateMng(eventHdlr);
1863 g_onCaptureTriggerStartedFlag = false;
1864 g_onCaptureTriggerCompletedFlag = false;
1865 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1866 sleep(2);
1867 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1868 sleep(2);
1869 camStateMng.Capture();
1870 sleep(2);
1871 EXPECT_TRUE(g_onCaptureTriggerStartedFlag);
1872 EXPECT_TRUE(g_onCaptureTriggerCompletedFlag);
1873 }
1874
HWTEST_F(CameraLiteTest,Test_Capture_007,Level1)1875 HWTEST_F(CameraLiteTest, Test_Capture_007, Level1)
1876 {
1877 CameraKit *cameraKit = nullptr;
1878 list<string> cameraList;
1879 string cameraId;
1880 EventHandler eventHdlr;
1881 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1882 SampleCameraStateMng camStateMng(eventHdlr);
1883 g_onCaptureTriggerStartedFlag = false;
1884 g_onCaptureTriggerCompletedFlag = false;
1885 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1886 sleep(2);
1887 camStateMng.Stop();
1888 sleep(2);
1889 camStateMng.Capture();
1890 sleep(2);
1891 EXPECT_TRUE(g_onCaptureTriggerStartedFlag);
1892 EXPECT_TRUE(g_onCaptureTriggerCompletedFlag);
1893 }
1894
HWTEST_F(CameraLiteTest,Test_Capture_008,Level1)1895 HWTEST_F(CameraLiteTest, Test_Capture_008, Level1)
1896 {
1897 CameraKit *cameraKit = nullptr;
1898 list<string> cameraList;
1899 string cameraId;
1900 EventHandler eventHdlr;
1901 GetCameraId(cameraKit, cameraList, cameraId);
1902 SampleCameraStateMng camStateMng(eventHdlr);
1903 g_onCaptureTriggerStartedFlag = false;
1904 g_onCaptureTriggerCompletedFlag = false;
1905 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1906 sleep(2);
1907 camStateMng.StartPreview();
1908 sleep(2);
1909 camStateMng.Stop();
1910 sleep(2);
1911 camStateMng.Capture();
1912 sleep(2);
1913 EXPECT_EQ(g_onCaptureTriggerStartedFlag, true);
1914 EXPECT_EQ(g_onCaptureTriggerCompletedFlag, true);
1915 }
1916
HWTEST_F(CameraLiteTest,Test_Preview_001,Level1)1917 HWTEST_F(CameraLiteTest, Test_Preview_001, Level1)
1918 {
1919 CameraKit *cameraKit = nullptr;
1920 list<string> cameraList;
1921 string cameraId;
1922 EventHandler eventHdlr;
1923 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1924 SampleCameraStateMng camStateMng(eventHdlr);
1925 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1926 g_onPreviewFlag = false;
1927 camStateMng.StartPreview();
1928 sleep(2);
1929 EXPECT_TRUE(g_onPreviewFlag);
1930 camStateMng.Stop();
1931 }
1932
HWTEST_F(CameraLiteTest,Test_Preview_002,Level1)1933 HWTEST_F(CameraLiteTest, Test_Preview_002, Level1)
1934 {
1935 CameraKit *cameraKit = nullptr;
1936 list<string> cameraList;
1937 string cameraId;
1938 EventHandler eventHdlr;
1939 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1940 SampleCameraStateMng camStateMng(eventHdlr);
1941 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1942 g_onPreviewFlag = false;
1943 camStateMng.StartPreview();
1944 sleep(2);
1945 camStateMng.Stop();
1946 EXPECT_FALSE(g_onPreviewFlag);
1947 }
1948
HWTEST_F(CameraLiteTest,Test_Preview_003,Level1)1949 HWTEST_F(CameraLiteTest, Test_Preview_003, Level1)
1950 {
1951 CameraKit *cameraKit = nullptr;
1952 list<string> cameraList;
1953 string cameraId;
1954 EventHandler eventHdlr;
1955 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1956 SampleCameraStateMng camStateMng(eventHdlr);
1957 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1958 g_onPreviewFlag = false;
1959 camStateMng.StartPreview();
1960 sleep(2);
1961 camStateMng.Stop();
1962 camStateMng.StartPreview();
1963 sleep(2);
1964 EXPECT_TRUE(g_onPreviewFlag);
1965 }
1966
HWTEST_F(CameraLiteTest,Test_Preview_004,Level1)1967 HWTEST_F(CameraLiteTest, Test_Preview_004, Level1)
1968 {
1969 CameraKit *cameraKit = nullptr;
1970 list<string> cameraList;
1971 string cameraId;
1972 EventHandler eventHdlr;
1973 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1974 SampleCameraStateMng camStateMng(eventHdlr);
1975 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1976 g_onPreviewFlag = false;
1977 camStateMng.StartPreview();
1978 sleep(2);
1979 camStateMng.Stop();
1980 camStateMng.StartPreview();
1981 sleep(2);
1982 camStateMng.Stop();
1983 EXPECT_FALSE(g_onPreviewFlag);
1984 }
1985
HWTEST_F(CameraLiteTest,Test_Preview_005,Level1)1986 HWTEST_F(CameraLiteTest, Test_Preview_005, Level1)
1987 {
1988 CameraKit *cameraKit = nullptr;
1989 list<string> cameraList;
1990 string cameraId;
1991 EventHandler eventHdlr;
1992 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
1993 SampleCameraStateMng camStateMng(eventHdlr);
1994 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
1995 g_onPreviewFlag = false;
1996 camStateMng.Capture();
1997 sleep(2);
1998 camStateMng.Stop();
1999 sleep(2);
2000 camStateMng.StartPreview();
2001 sleep(2);
2002 EXPECT_TRUE(g_onPreviewFlag);
2003 camStateMng.Stop();
2004 }
2005
HWTEST_F(CameraLiteTest,Test_Preview_006,Level1)2006 HWTEST_F(CameraLiteTest, Test_Preview_006, Level1)
2007 {
2008 CameraKit *cameraKit = nullptr;
2009 list<string> cameraList;
2010 string cameraId;
2011 EventHandler eventHdlr;
2012 ASSERT_TRUE(GetCameraId(cameraKit, cameraList, cameraId));
2013 SampleCameraStateMng camStateMng(eventHdlr);
2014 cameraKit->CreateCamera(cameraId, camStateMng, eventHdlr);
2015 g_onPreviewFlag = false;
2016 camStateMng.Capture();
2017 sleep(2);
2018 camStateMng.StartPreview();
2019 sleep(2);
2020 camStateMng.Stop();
2021 EXPECT_FALSE(g_onPreviewFlag);
2022 } /* end frame config & frame state call back interface test */
2023
2024 /* start camera info interface test */
HWTEST_F(CameraLiteTest,Test_GetCameraType_001,Level1)2025 HWTEST_F(CameraLiteTest, Test_GetCameraType_001, Level1)
2026 {
2027 CameraKit *cameraKit = CameraKit::GetInstance();
2028 string cameraId = "0";
2029 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(cameraId);
2030 int32_t cameraType = cameraInfo->GetCameraType();
2031 EXPECT_TRUE(cameraType <= 3);
2032 EXPECT_TRUE(cameraType >= 0);
2033 }
2034
HWTEST_F(CameraLiteTest,PrfTest_GetCameraType_001,Level1)2035 HWTEST_F(CameraLiteTest, PrfTest_GetCameraType_001, Level1)
2036 {
2037 CameraKit *cameraKit = CameraKit::GetInstance();
2038 string cameraId = "0";
2039 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(cameraId);
2040 struct timespec tv1 = {0};
2041 struct timespec tv2 = {0};
2042 int64_t performanceTestTimes = 10;
2043 int64_t usecTimes = 1000000;
2044 int64_t totalTime = 0;
2045 for (int32_t i = 0; i < performanceTestTimes; i++) {
2046 clock_gettime(CLOCK_REALTIME, &tv1);
2047 cameraInfo->GetCameraType();
2048 clock_gettime(CLOCK_REALTIME, &tv2);
2049 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
2050 }
2051 int64_t expectTime = 1000000;
2052 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
2053 }
2054
HWTEST_F(CameraLiteTest,Test_GetCameraFacingType_001,Level1)2055 HWTEST_F(CameraLiteTest, Test_GetCameraFacingType_001, Level1)
2056 {
2057 CameraKit *cameraKit = CameraKit::GetInstance();
2058 string cameraId = "0";
2059 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(cameraId);
2060 int32_t cameraFacingType = cameraInfo->GetCameraFacingType();
2061 EXPECT_TRUE(cameraFacingType <= 2);
2062 EXPECT_TRUE(cameraFacingType >= 0);
2063 }
2064
HWTEST_F(CameraLiteTest,PrfTest_GetCameraFacingType_001,Level1)2065 HWTEST_F(CameraLiteTest, PrfTest_GetCameraFacingType_001, Level1)
2066 {
2067 CameraKit *cameraKit = CameraKit::GetInstance();
2068 string cameraId = "0";
2069 const CameraInfo *cameraInfo = cameraKit->GetCameraInfo(cameraId);
2070 struct timespec tv1 = {0};
2071 struct timespec tv2 = {0};
2072 int64_t performanceTestTimes = 10;
2073 int64_t usecTimes = 1000000;
2074 int64_t totalTime = 0;
2075 for (int32_t i = 0; i < performanceTestTimes; i++) {
2076 clock_gettime(CLOCK_REALTIME, &tv1);
2077 cameraInfo->GetCameraFacingType();
2078 clock_gettime(CLOCK_REALTIME, &tv2);
2079 totalTime += tv2.tv_sec * usecTimes + tv2.tv_nsec - (tv1.tv_sec * usecTimes + tv1.tv_nsec);
2080 }
2081 int64_t expectTime = 1000000;
2082 EXPECT_TRUE(totalTime <= expectTime * performanceTestTimes);
2083 } /* end camera info interface test */
2084 } // namespace OHOS
2085