2 * drm-trusted-client TCs
\r
4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
\r
6 * Contact: Hakjoo Ko <hakjoo.ko@samsung.com>
\r
7 * Mahendra Kumar Prajapat <mahendra.p@samsung.com>
\r
8 * Harsha Shekar <h.shekar@samsung.com>
\r
9 * Ravi S <ravi.cs@samsung.com>
\r
12 * Licensed under the Apache License, Version 2.0 (the "License");
\r
13 * you may not use this file except in compliance with the License.
\r
14 * You may obtain a copy of the License at
\r
16 * http://www.apache.org/licenses/LICENSE-2.0
\r
18 * Unless required by applicable law or agreed to in writing, software
\r
19 * distributed under the License is distributed on an "AS IS" BASIS,
\r
20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
21 * See the License for the specific language governing permissions and
\r
22 * limitations under the License.
\r
27 * @file utc_drmtrustedclient_drm_trusted_open_convert_func.c
\r
28 * @brief TETware unit testing functions for drm_trusted_open_convert.
\r
29 * @author Ravi S (ravi.cs@samsung.com)
\r
31 * @history 0.1: Initial draft
\r
34 #include <tet_api.h>
\r
35 #include "drm_test_contents_def.h"
\r
38 #include <sys/types.h>
\r
39 #include <sys/stat.h>
\r
42 static void startup(void);
\r
43 static void cleanup(void);
\r
45 void (*tet_startup)(void) = startup;
\r
46 void (*tet_cleanup)(void) = cleanup;
\r
48 static void utc_drmtrustedclient_drm_trusted_open_convert_func_01(void);
\r
49 static void utc_drmtrustedclient_drm_trusted_open_convert_func_02(void);
\r
50 static void utc_drmtrustedclient_drm_trusted_open_convert_func_03(void);
\r
54 POSITIVE_TC_IDX = 0x01,
\r
58 struct tet_testlist tet_testlist[] = {
\r
59 { utc_drmtrustedclient_drm_trusted_open_convert_func_01, POSITIVE_TC_IDX },
\r
60 { utc_drmtrustedclient_drm_trusted_open_convert_func_02, NEGATIVE_TC_IDX },
\r
61 { utc_drmtrustedclient_drm_trusted_open_convert_func_03, NEGATIVE_TC_IDX },
\r
65 static void startup(void)
\r
67 tet_infoline("drm_trusted_open_convert:Test started");
\r
70 static void cleanup(void)
\r
72 tet_infoline("drm_trusted_open_convert:Test completed");
\r
76 * @brief Positive test case of drm_trusted_open_convert()
\r
78 static void utc_drmtrustedclient_drm_trusted_open_convert_func_01(void)
\r
80 DRM_TRUSTED_CONVERT_HANDLE hConvert;
\r
81 drm_trusted_opn_conv_info_s input;
\r
82 drm_trusted_write_conv_info_s write_input;
\r
83 drm_trusted_write_conv_resp_s output;
\r
86 unsigned int FileSize=-1;
\r
87 unsigned char *buffer = NULL;
\r
88 struct stat statbuf;
\r
89 int readed_size = -1;
\r
92 /* memset the structures */
\r
93 memset(&hConvert, 0x0, sizeof(DRM_TRUSTED_CONVERT_HANDLE));
\r
94 memset(&input, 0x0, sizeof(drm_trusted_opn_conv_info_s));
\r
95 memset(&output, 0x0, sizeof(drm_trusted_write_conv_resp_s));
\r
96 memset(&write_input, 0x0, sizeof(drm_trusted_opn_conv_info_s));
\r
97 memset(&statbuf, 0x0, sizeof(struct stat));
\r
99 memcpy(input.filePath,FILE_PATH_VALID_FILE_OMA_9,strlen(FILE_PATH_VALID_FILE_OMA_9));
\r
100 input.install_RO = DRM_TRUSTED_FALSE;
\r
102 ret = drm_trusted_open_convert(&input,&hConvert);
\r
104 if (DRM_TRUSTED_RETURN_SUCCESS == ret) {
\r
105 tet_printf("drm_trusted_open_convert:ret=0x%x", ret);
\r
107 tet_printf("drm_trusted_open_convert:ret=0x%x", ret);
\r
108 tet_result(TET_FAIL);
\r
111 fp = fopen(FILE_PATH_VALID_DM_FILE_OMA_1, "r");
\r
114 tet_printf("fopen error:error=%s",strerror(errno));
\r
115 tet_result(TET_FAIL);
\r
119 if(stat(FILE_PATH_VALID_DM_FILE_OMA_1, &statbuf) == 0 )
\r
120 FileSize = (unsigned int)statbuf.st_size;
\r
121 tet_printf("FileSize=%u",FileSize);
\r
124 tet_result(TET_FAIL);
\r
127 buffer = (unsigned char *)malloc(FileSize + 1);
\r
130 tet_printf("malloc failed:error=%s",strerror(errno));
\r
132 tet_result(TET_FAIL);
\r
135 memset(buffer,0x0, FileSize+1);
\r
136 readed_size = fread(buffer,1,FileSize,fp);
\r
137 tet_printf("fread:read_size=%d",readed_size);
\r
138 if(readed_size == -1)
\r
140 tet_result(TET_FAIL);
\r
143 buffer[FileSize] = '\0';
\r
145 write_input.data_len = FileSize;
\r
146 write_input.data = buffer;
\r
148 ret = drm_trusted_write_convert(&write_input,&output,hConvert);
\r
150 if (DRM_TRUSTED_RETURN_SUCCESS == ret) {
\r
151 tet_printf("drm_trusted_write_convert:ret=0x%x", ret);
\r
153 tet_printf("drm_trusted_write_convert:ret=0x%x", ret);
\r
154 tet_result(TET_FAIL);
\r
157 tet_printf("bytes written=%d",output.write_size);
\r
158 if(FileSize != output.write_size)
\r
160 tet_printf("Data is not written successfully");
\r
161 tet_result(TET_FAIL);
\r
165 ret = drm_trusted_close_convert(&hConvert);
\r
167 if (DRM_TRUSTED_RETURN_SUCCESS == ret) {
\r
168 tet_printf("drm_trusted_close_convert:ret=0x%x", ret);
\r
169 tet_printf("drm_trusted_open_convert,drm_trusted_write_convert and drm_trusted_close_convert all have passed");
\r
170 tet_result(TET_PASS);
\r
172 tet_printf("drm_trusted_close_convert:ret=0x%x", ret);
\r
173 tet_result(TET_FAIL);
\r
178 * @brief Negative test case of drm_trusted_open_convert()
\r
180 static void utc_drmtrustedclient_drm_trusted_open_convert_func_02(void)
\r
182 DRM_TRUSTED_CONVERT_HANDLE hConvert;
\r
185 /* memset the structures */
\r
186 memset(&hConvert, 0x0, sizeof(DRM_TRUSTED_CONVERT_HANDLE));
\r
188 ret = drm_trusted_open_convert(NULL,&hConvert);
\r
189 tet_printf("ret = 0x%x", ret);
\r
190 if (DRM_TRUSTED_RETURN_SUCCESS == ret) {
\r
191 tet_printf("drm_trusted_open_convert ret=0x%x", ret);
\r
192 tet_result(TET_FAIL);
\r
194 tet_printf("drm_trusted_open_convert ret=0x%x", ret);
\r
195 tet_result(TET_PASS);
\r
200 * @brief Negative test case of drm_trusted_open_convert()
\r
202 static void utc_drmtrustedclient_drm_trusted_open_convert_func_03(void)
\r
204 drm_trusted_opn_conv_info_s input;
\r
207 /* memset the structures */
\r
208 memset(&input, 0x0, sizeof(drm_trusted_opn_conv_info_s));
\r
210 ret = drm_trusted_open_convert(&input,NULL);
\r
211 tet_printf("ret = 0x%x", ret);
\r
212 if (DRM_TRUSTED_RETURN_SUCCESS == ret) {
\r
213 tet_printf("drm_trusted_open_convert ret=0x%x", ret);
\r
214 tet_result(TET_FAIL);
\r
216 tet_printf("drm_trusted_open_convert ret=0x%x", ret);
\r
217 tet_result(TET_PASS);
\r