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