diff options
Diffstat (limited to 'TC')
-rwxr-xr-x | TC/build.sh | 32 | ||||
-rwxr-xr-x | TC/execute.sh | 32 | ||||
-rwxr-xr-x | TC/making_new_tet_scen.py | 69 | ||||
-rw-r--r-- | TC/tet_scen | 8 | ||||
-rwxr-xr-x | TC/tetbuild.cfg | 7 | ||||
-rwxr-xr-x | TC/tetclean.cfg | 6 | ||||
-rwxr-xr-x | TC/tetexec.cfg | 6 | ||||
-rw-r--r-- | TC/tslist.txt | 1 | ||||
-rwxr-xr-x | TC/utc/Makefile | 45 | ||||
-rw-r--r-- | TC/utc/tet_captured | 1 | ||||
-rw-r--r-- | TC/utc/tet_scen | 0 | ||||
-rwxr-xr-x | TC/utc/tslist | 4 | ||||
-rw-r--r-- | TC/utc/utc_mm_session_common.h | 66 | ||||
-rw-r--r-- | TC/utc/utc_mm_session_finish_func.c | 115 | ||||
-rw-r--r-- | TC/utc/utc_mm_session_init_ex_func.c | 123 | ||||
-rw-r--r-- | TC/utc/utc_mm_session_init_func.c | 145 |
16 files changed, 660 insertions, 0 deletions
diff --git a/TC/build.sh b/TC/build.sh new file mode 100755 index 0000000..1276482 --- /dev/null +++ b/TC/build.sh @@ -0,0 +1,32 @@ +#./_export_env.sh # setting environment variables +#!/bin/sh +export ARCH=target +export TET_INSTALL_PATH=/scratchbox/TETware/ +export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target +export PATH=$TET_TARGET_PATH/bin:$PATH +export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH + +export TET_ROOT=$TET_TARGET_PATH + +set $(pwd) +export TET_SUITE_ROOT=$1 + +set $(date +%s) +FILE_NAME_EXTENSION=$1 + +echo PATH=$PATH +echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH +echo TET_ROOT=$TET_ROOT +echo TET_SUITE_ROOT=$TET_SUITE_ROOT +echo ARCH=$ARCH + +RESULT_DIR=results-$ARCH +HTML_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.html +JOURNAL_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.journal + +mkdir $RESULT_DIR + +tcc -c -p ./ # executing tcc, with clean option (-c) +tcc -b -j $JOURNAL_RESULT -p ./ # executing tcc to build test cases (-b) +grw -c 3 -f chtml -o $HTML_RESULT $JOURNAL_RESULT # reporting the result + diff --git a/TC/execute.sh b/TC/execute.sh new file mode 100755 index 0000000..8e414df --- /dev/null +++ b/TC/execute.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +export ARCH=target + +export TET_INSTALL_PATH=/mnt/nfs/TETware # path to mount +export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target +export PATH=$TET_TARGET_PATH/bin:$PATH +export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH + +export TET_ROOT=$TET_TARGET_PATH + +set $(pwd) +export TET_SUITE_ROOT=$1 + +set $(date +%s) +FILE_NAME_EXTENSION=$1 + +echo PATH=$PATH +echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH +echo TET_ROOT=$TET_ROOT +echo TET_SUITE_ROOT=$TET_SUITE_ROOT +echo ARCH=$ARCH + +RESULT_DIR=results-$ARCH +HTML_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.html +JOURNAL_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.journal + +mkdir $RESULT_DIR + +tcc -e -j $JOURNAL_RESULT -p ./ +grw -c 3 -f chtml -o $HTML_RESULT $JOURNAL_RESULT # reporting the result + diff --git a/TC/making_new_tet_scen.py b/TC/making_new_tet_scen.py new file mode 100755 index 0000000..6c5b845 --- /dev/null +++ b/TC/making_new_tet_scen.py @@ -0,0 +1,69 @@ +#!/usr/bin/python + +############################################# +# tet_scen auto generator +# +# ** argv[1] = TC root +############################################# + +import sys,string,os + + +write_file = open("tet_scen", 'w') + +# +# making new tet_scen +# +def making_tet_scen (filename): + #tmp_list = filename.strip().split('/') + n_filename = filename.replace(' ', '\\ ') + #print n_filename + #new_path = "/"+ sys.argv[1] +"/"+n_filename[2:-6] + new_path = "/"+n_filename[:-6] + #print new_path + file = open(filename, 'r') + lines = file.readlines() + for line in lines: + if len(line.strip()) > 1: + list = line.strip().split('/') + #print new_path + list[-1] + write_file.write("\t"+new_path+list[-1]+"\n") + +# +# usage() +# +def usage(): + print(" ") + print("./making_new_tet_scen.py tc_root") + print("Put the Test Case's root directory.") + print("Do not include '/' at the end") + print(" ") + +# +# main() +# +def main(): + if len(sys.argv) < 2: + usage() + sys.exit(0) + + os.system('find '+ sys.argv[1] +' -name "tslist" > tslist.txt') + + #write_file = open("tetscen", w) + write_file.write("# auto generated tet_scen\n") + write_file.write("all\n") + write_file.write("\t\"Starting Full Test Suite\"\n") + + for file in open("tslist.txt", 'r'): + #print file.strip() + making_tet_scen(file.strip()) + + write_file.write("\t\"Completed Full Test Suite\"\n") + write_file.write("# EOF\n") + write_file.close() + print(" ") + print("==============================") + print("New tet_scen file is made~~~~") + print("==============================") + print(" ") +main() diff --git a/TC/tet_scen b/TC/tet_scen new file mode 100644 index 0000000..7a4377b --- /dev/null +++ b/TC/tet_scen @@ -0,0 +1,8 @@ +# auto generated tet_scen +all + "Starting Full Test Suite" + /utc/utc_mm_session_init_func + /utc/utc_mm_session_init_ex_func + /utc/utc_mm_session_finish_func + "Completed Full Test Suite" +# EOF diff --git a/TC/tetbuild.cfg b/TC/tetbuild.cfg new file mode 100755 index 0000000..addcce9 --- /dev/null +++ b/TC/tetbuild.cfg @@ -0,0 +1,7 @@ +TET_OUTPUT_CAPTURE=True # capture option for build operation checking +TET_BUILD_TOOL=make # build with using make command +TET_BUILD_FILE=-f Makefile # execution file (Makefile) for build +TET_API_COMPLIANT=True # use TET API in Test Case ? +TET_PASS_TC_NAME=True # report passed TC name in Journal file? + + diff --git a/TC/tetclean.cfg b/TC/tetclean.cfg new file mode 100755 index 0000000..00d58d5 --- /dev/null +++ b/TC/tetclean.cfg @@ -0,0 +1,6 @@ +TET_OUTPUT_CAPTURE=True # capture option +TET_CLEAN_TOOL= make clean # clean tool +TET_CLEAN_FILE= Makefile # file for clean +TET_API_COMPLIANT=True # TET API useage +TET_PASS_TC_NAME=True # showing name , passed TC + diff --git a/TC/tetexec.cfg b/TC/tetexec.cfg new file mode 100755 index 0000000..e726ecc --- /dev/null +++ b/TC/tetexec.cfg @@ -0,0 +1,6 @@ +TET_OUTPUT_CAPTURE=True # capturing execution or not +TET_EXEC_TOOL= # ex) exec : execution tool set up/ Optional +TET_EXEC_FILE= # ex) exectool : execution file/ Optional +TET_API_COMPLIANT=True # Test case or Tool usesTET API? +TET_PASS_TC_NAME=True # showing Passed TC name ? + diff --git a/TC/tslist.txt b/TC/tslist.txt new file mode 100644 index 0000000..24c0a1a --- /dev/null +++ b/TC/tslist.txt @@ -0,0 +1 @@ +utc/tslist diff --git a/TC/utc/Makefile b/TC/utc/Makefile new file mode 100755 index 0000000..5cd41ae --- /dev/null +++ b/TC/utc/Makefile @@ -0,0 +1,45 @@ +ifeq ($(ARCH),target)
+ PKG_CONFIG_PATH=/usr/lib/pkgconfig
+ export PKG_CONFIG_PATH
+ CC=arm-linux-gcc -Wall
+ CXX=arm-linux-g++ -Wall
+else
+ PKG_CONFIG_PATH=/usr/lib/pkgconfig
+ export PKG_CONFIG_PATH
+ CC=gcc -Wall
+ CXX=gcc -Wall
+endif
+
+TS1=utc_mm_session_init_func
+TS2=utc_mm_session_init_ex_func
+TS3=utc_mm_session_finish_func
+
+LIBS = `pkg-config --libs mm-session`
+LIBS +=-L/usr/lib/:/usr/lib/pkgconfig
+LIBS +=$(TET_ROOT)/lib/tet3/tcm_s.o
+LIBS +=-L$(TET_ROOT)/lib/tet3 -ltcm_s
+LIBS +=-L$(TET_ROOT)/lib/tet3/ -lapi_s
+
+INCS = -I. `pkg-config --cflags mm-session `
+INCS += -I$(TET_ROOT)/inc/tet3
+INCS += -I/usr/include/mmf
+
+CFLAGS = $(INCS)
+CC += $(CFLAGS)
+LDFLAGS = $(LIBS)
+
+all : $(TS1) $(TS2)
+
+$(TS1): $(TS1).c
+ $(CC) -o $(TS1) $(TS1).c $(LDFLAGS)
+
+$(TS2): $(TS2).c
+ $(CC) -o $(TS2) $(TS2).c $(LDFLAGS)
+
+$(TS3): $(TS3).c
+ $(CC) -o $(TS3) $(TS3).c $(LDFLAGS)
+clean:
+ rm -rf *~ *.o $(TS1) $(TS2) $(TS3)
+
+
+
diff --git a/TC/utc/tet_captured b/TC/utc/tet_captured new file mode 100644 index 0000000..d9c7e4a --- /dev/null +++ b/TC/utc/tet_captured @@ -0,0 +1 @@ +make: `utc_mm_session_finish_func' is up to date. diff --git a/TC/utc/tet_scen b/TC/utc/tet_scen new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/TC/utc/tet_scen diff --git a/TC/utc/tslist b/TC/utc/tslist new file mode 100755 index 0000000..603acde --- /dev/null +++ b/TC/utc/tslist @@ -0,0 +1,4 @@ +./utc_mm_session_init_func +./utc_mm_session_init_ex_func +./utc_mm_session_finish_func + diff --git a/TC/utc/utc_mm_session_common.h b/TC/utc/utc_mm_session_common.h new file mode 100644 index 0000000..b35d59b --- /dev/null +++ b/TC/utc/utc_mm_session_common.h @@ -0,0 +1,66 @@ +/*
+ * libmm-session
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungbae Shin <seungbae.shin@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+/**
+* @file uts_mmf_session_common.h
+* @brief This is a suite of unit test cases for Session APIs.
+* @version Initial Creation V0.1
+* @date 2010.07.06
+*/
+
+
+#ifndef UTS_MM_FRAMEWORK_SESSION_COMMON_H
+#define UTS_MM_FRAMEWORK_SESSION_COMMON_H
+
+
+#include <mm_session.h>
+#include <mm_message.h>
+#include <mm_error.h>
+#include <mm_types.h>
+#include <stdio.h>
+#include <string.h>
+#include <tet_api.h>
+#include <unistd.h>
+#include <glib.h>
+
+
+void startup();
+void cleanup();
+
+void (*tet_startup)() = startup;
+void (*tet_cleanup)() = cleanup;
+
+
+void utc_mm_session_init_func_01 ();
+void utc_mm_session_init_func_02 ();
+void utc_mm_session_init_func_03 ();
+void utc_mm_session_init_func_04 ();
+
+void utc_mm_session_finish_func_01 ();
+void utc_mm_session_finish_func_02 ();
+
+
+void utc_mm_session_init_ex_func_01();
+void utc_mm_session_init_ex_func_02();
+
+
+#endif /* UTS_MM_FRAMEWORK_SESSION_COMMON_H */
diff --git a/TC/utc/utc_mm_session_finish_func.c b/TC/utc/utc_mm_session_finish_func.c new file mode 100644 index 0000000..5d94242 --- /dev/null +++ b/TC/utc/utc_mm_session_finish_func.c @@ -0,0 +1,115 @@ +/*
+ * libmm-session
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungbae Shin <seungbae.shin@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/**
+* @ingroup MMF_SESSION_API
+* @addtogroup SESSION
+*/
+
+/**
+* @ingroup SESSION
+* @addtogroup UTS_MMF_SESSION Unit
+*/
+
+/**
+* @ingroup UTS_MMF_SESSION Unit
+* @addtogroup UTS_MMF_SESSION_FINISH Uts_Mmf_Session_Finish
+* @{
+*/
+
+/**
+* @file uts_mmf_session_finish.c
+* @brief This is a suit of unit test cases to test mm_session_finish API
+* @version Initial Creation Version 0.1
+* @date 2010.07.06
+*/
+
+
+#include "utc_mm_session_common.h"
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+//-------------------------------------------------------------------------------------------------
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Declare the global variables and registers and Internal Funntions
+//-------------------------------------------------------------------------------------------------
+#define API_NAME "mm_session_finish"
+
+struct tet_testlist tet_testlist[] = {
+ {utc_mm_session_finish_func_01, 1},
+ {utc_mm_session_finish_func_02, 2},
+ {NULL, 0}
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/* Initialize TCM data structures */
+
+/* Start up function for each test purpose */
+void
+startup ()
+{
+}
+
+/* Clean up function for each test purpose */
+void
+cleanup ()
+{
+}
+
+void utc_mm_session_finish_func_01()
+{
+ int ret = 0;
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init(MM_SESSION_TYPE_SHARE);
+
+ dts_check_eq(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ /* Finish the Multimedia Session */
+ ret = mm_session_finish();
+
+ dts_check_eq(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ return;
+}
+
+
+void utc_mm_session_finish_func_02()
+{
+ int ret = 0;
+
+ /* forced cleanup previous session */
+ mm_session_finish();
+
+ /* Finish the Multimedia Session */
+ ret = mm_session_finish();
+
+ dts_check_ne(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ return;
+}
+
+
+/** @} */
+
+
+
+
diff --git a/TC/utc/utc_mm_session_init_ex_func.c b/TC/utc/utc_mm_session_init_ex_func.c new file mode 100644 index 0000000..77793d7 --- /dev/null +++ b/TC/utc/utc_mm_session_init_ex_func.c @@ -0,0 +1,123 @@ +/*
+ * libmm-session
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungbae Shin <seungbae.shin@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/**
+* @ingroup MMF_SESSION_API
+* @addtogroup SESSION
+*/
+
+/**
+* @ingroup SESSION
+* @addtogroup UTS_MMF_SESSION Unit
+*/
+
+/**
+* @ingroup UTS_MMF_SESSION Unit
+* @addtogroup UTS_MMF_SESSION_INIT Uts_Mmf_Session_Init
+* @{
+*/
+
+/**
+* @file uts_mmf_session_init.c
+* @brief This is a suit of unit test cases to test mm_session_init API
+* @version Initial Creation Version 0.1
+* @date 2010.07.06
+*/
+
+
+#include "utc_mm_session_common.h"
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+//-------------------------------------------------------------------------------------------------
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Declare the global variables and registers and Internal Funntions
+//-------------------------------------------------------------------------------------------------
+#define API_NAME "mm_session_init_ex"
+
+struct tet_testlist tet_testlist[] = {
+ {utc_mm_session_init_ex_func_01, 1},
+ {utc_mm_session_init_ex_func_02, 2},
+ {NULL, 0}
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/* Initialize TCM data structures */
+
+/* Start up function for each test purpose */
+void
+startup ()
+{
+}
+
+/* Clean up function for each test purpose */
+void
+cleanup ()
+{
+}
+
+void test_callback(session_msg_t msg, void *user_param)
+{
+ switch(msg)
+ {
+ case MM_SESSION_MSG_STOP:
+ tet_infoline("Message stop called");
+ break;
+ case MM_SESSION_MSG_RESUME:
+ tet_infoline("Message resume called");
+ break;
+ default:
+ break;
+ }
+}
+
+void utc_mm_session_init_ex_func_01()
+{
+ int ret = 0;
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init_ex(MM_SESSION_TYPE_SHARE, test_callback, NULL);
+
+ dts_check_eq(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ mm_session_finish();
+
+ return;
+}
+
+
+void utc_mm_session_init_ex_func_02()
+{
+ int ret = 0;
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init_ex(100, test_callback, NULL);
+
+ dts_check_ne(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ return;
+}
+
+/** @} */
+
+
+
+
diff --git a/TC/utc/utc_mm_session_init_func.c b/TC/utc/utc_mm_session_init_func.c new file mode 100644 index 0000000..b8a6f4d --- /dev/null +++ b/TC/utc/utc_mm_session_init_func.c @@ -0,0 +1,145 @@ +/*
+ * libmm-session
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seungbae Shin <seungbae.shin@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/**
+* @ingroup MMF_SESSION_API
+* @addtogroup SESSION
+*/
+
+/**
+* @ingroup SESSION
+* @addtogroup UTS_MMF_SESSION Unit
+*/
+
+/**
+* @ingroup UTS_MMF_SESSION Unit
+* @addtogroup UTS_MMF_SESSION_INIT Uts_Mmf_Session_Init
+* @{
+*/
+
+/**
+* @file uts_mmf_session_init.c
+* @brief This is a suit of unit test cases to test mm_session_init API
+* @version Initial Creation Version 0.1
+* @date 2010.07.06
+*/
+
+
+#include "utc_mm_session_common.h"
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+//-------------------------------------------------------------------------------------------------
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Declare the global variables and registers and Internal Funntions
+//-------------------------------------------------------------------------------------------------
+#define API_NAME "mm_session_init"
+
+struct tet_testlist tet_testlist[] = {
+ {utc_mm_session_init_func_01, 1},
+ {utc_mm_session_init_func_02, 2},
+ {utc_mm_session_init_func_03, 3},
+ {utc_mm_session_init_func_04, 4},
+ {NULL, 0}
+};
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/* Initialize TCM data structures */
+
+/* Start up function for each test purpose */
+void
+startup ()
+{
+}
+
+/* Clean up function for each test purpose */
+void
+cleanup ()
+{
+}
+
+void utc_mm_session_init_func_01()
+{
+ int ret = 0;
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init(MM_SESSION_TYPE_SHARE);
+
+ dts_check_eq(API_NAME, ret, MM_ERROR_NONE,"err=0x%x", ret);
+
+ mm_session_finish();
+
+ return;
+}
+
+
+void utc_mm_session_init_func_02()
+{
+ int ret = 0;
+
+ /* forced cleanup previous session */
+ mm_session_finish();
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init(MM_SESSION_TYPE_EXCLUSIVE);
+
+ dts_check_eq(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ mm_session_finish();
+
+ return;
+}
+
+
+void utc_mm_session_init_func_03()
+{
+ int ret = 0;
+
+ tet_infoline( "[[ TET_MSG ]]:: Define the Multimedia Session Policy" );
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init(-1);
+
+ dts_check_ne(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ return;
+}
+
+
+void utc_mm_session_init_func_04()
+{
+ int ret = 0;
+
+ tet_infoline( "[[ TET_MSG ]]:: Define the Multimedia Session Policy" );
+
+ /* Define the Multimedia Session Policy*/
+ ret = mm_session_init(100);
+
+ dts_check_ne(API_NAME, ret, MM_ERROR_NONE,"err=0x%x",ret);
+
+ return;
+}
+
+/** @} */
+
+
+
+
|