Browse Source

Z991239-5518 #comment feat: 1. 非生产环境下增加测试启动脚本 2. 生产环境下没有

陈纪林80310970 1 year ago
parent
commit
c5a99c9a3e

+ 2 - 0
CMakeLists.txt

@@ -722,6 +722,7 @@ if(MSVC)
 	install(FILES "${CMAKE_SOURCE_DIR}/addin/packaging/WIN/Readme.txt" DESTINATION "${PACK_INSTALL_RUN_DIR}/./.." COMPONENT scripts)
 	if(NOT DEVOPS_ON_CMAKE_PRD)
 		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/WIN/kill.bat" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
+		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/WIN/test.vbs" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
 	endif(NOT DEVOPS_ON_CMAKE_PRD)
 	file(GLOB VENDOR_ROOT_CONFIG_FILES "${CMAKE_SOURCE_DIR}/addin/hardwarecfg/WIN/root*.ini")
 	install(FILES ${VENDOR_ROOT_CONFIG_FILES} DESTINATION "${PACK_INSTALL_RUN_DIR}/hardwarecfg" COMPONENT scripts)
@@ -729,6 +730,7 @@ else(MSVC)
 	install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/startup_scripts/spexplorer.sh" DESTINATION "${RVC_BASE_PATH}" COMPONENT scripts)
 	if(NOT DEVOPS_ON_CMAKE_PRD)
 		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/UOS/kill.sh" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
+		install(PROGRAMS "${CMAKE_SOURCE_DIR}/addin/packaging/UOS/test.sh" DESTINATION ${RVC_BASE_PATH} COMPONENT scripts)
 	endif(NOT DEVOPS_ON_CMAKE_PRD)
 	configure_file("${CMAKE_SOURCE_DIR}/addin/packaging/UOS/installsub.in" "${CMAKE_BINARY_DIR}/installsub.sh" @ONLY NEWLINE_STYLE UNIX)
 	install(PROGRAMS "${CMAKE_BINARY_DIR}/installsub.sh" DESTINATION "${PACK_INSTALL_RVC_DIR}/Resources" COMPONENT scripts)

+ 3 - 0
Framework/spbase/SpEntity.cpp

@@ -1494,11 +1494,14 @@ ErrorCodeEnum SpEntity::GetSystemRunInfo(CSystemRunInfo &Info)
         }
 	}
 
+#ifndef DEVOPS_ON_PRD
+	//非生产情况下,才支持测试模式
 	Info.autoTest = FALSE;
 	if (cfg->args->auto_test)
 	{
 		Info.autoTest = TRUE;
 	}
+#endif
 
 	if (cfg->args->start_entities != NULL && strlen(cfg->args->start_entities) != 0) {
 		Info.dwBootOption |= BootOption_Entity;

+ 3 - 0
Framework/spbase/sp_cfg.cpp

@@ -2600,7 +2600,10 @@ int sp_cfg_create(sp_dir_t* dir, const sp_cfg_start_args_t* args, sp_cfg_t** p_c
 		memset(cfg->args, 0, sizeof(sp_cfg_start_args_t));
 		cfg->args->start_entities = shm_strdup(args->start_entities);
 		cfg->args->test_mode = args->test_mode;
+#ifndef DEVOPS_ON_PRD
+		//非生产情况下,才支持测试模式
 		cfg->args->auto_test = args->auto_test;
+#endif
 		cfg->args->debug_mode = args->debug_mode;
 		cfg->args->guardian_mode = args->guardian_mode;
 		cfg->args->sign_verifity = args->sign_verifity;

+ 3 - 0
Framework/spbase/sp_cfg.h

@@ -22,7 +22,10 @@ typedef struct sp_cfg_start_args_t {
 	char* arguments;
 	char* start_entities;    /*split with ';' for supported multi entities*/
 	char test_mode;         /*1: run as test mode, trigger test deamon entity to invoke onTest*/
+#ifndef DEVOPS_ON_PRD
+//非生产情况下,才支持测试模式
 	char auto_test;			/*1: run as auto test mode, loadup simulator adapter */
+#endif
 	char debug_mode;    /*trace memory alloca and cpu etc resource */
 	char guardian_mode;
 	char sign_verifity;

+ 3 - 0
Framework/spshell/spshell.cpp

@@ -696,7 +696,10 @@ sp_cfg_start_args_t* DealWithArgs(int argc, char** argv)
 	while ((c = getopt_long(argc, argv, "E:GTCDI:SKBU:HVOR::Y::J::A:?", spshell_options, &spshell_index)) != EOF) {
 		switch (c) {
 		case 'C':
+#ifndef DEVOPS_ON_PRD
+			//非生产情况下,才支持测试模式
 			args->auto_test = 1;
+#endif // DEVOPS_ON_PRD
 			break;
 		case 'E':
 		{

+ 3 - 0
Module/include/DevEntityCommBase.hpp

@@ -157,6 +157,8 @@ inline ErrorCodeEnum CDevAdptEntityBase::ExtractVendorLibName()
 	{
 		CSimpleStringA strDeviceEntityName = GetEntityName();		
 		
+#ifndef DEVOPS_ON_PRD
+		//非生产情况下,才支持测试模式
 		CSystemRunInfo runInfo = { 0 };
 		ErrorCodeEnum ec = GetFunction()->GetSystemRunInfo(runInfo);
 		if (ec == Error_Succeed && runInfo.autoTest) //识别成测试模式的条件
@@ -167,6 +169,7 @@ inline ErrorCodeEnum CDevAdptEntityBase::ExtractVendorLibName()
 			vendorLibInfo.strBatch = "1";
 		}
 		else
+#endif
 		{
 			if (strDeviceEntityName.Compare("CardIssuerStore", true) == 0 || strDeviceEntityName.Compare("CardIssuerStand", true) == 0) {
 				strDeviceEntityName = "CardIssuer";

+ 63 - 0
addin/packaging/UOS/test.sh

@@ -0,0 +1,63 @@
+#!/bin/sh
+
+MY_PATH="`dirname \"$0\"`"              # relative
+MY_PATH="`( cd \"$MY_PATH\" && pwd )`"  # absolutized and normalized
+
+
+
+bootscripts=""
+
+
+check_dir_exists() {
+	if [ ! -d "$*" ]; then
+		echo "\n"
+		echo "=============================================================="
+		echo "   文件夹 $* 不存在!  "
+		echo "==============================================================\n"
+		exit 2
+	fi
+}
+
+check_file_exists() {
+	if [ ! -f "$*" ]; then
+		echo "\n"
+		echo "=============================================================="
+		echo "   文件 $* 不存在!  "
+		echo "==============================================================\n"
+		exit 2
+	fi
+}
+
+versionpath=""
+versionpath=$MY_PATH"/active.txt"
+# echo $versionpath
+line=""
+version=$(cat $versionpath)
+version=`echo ${version} | sed -e 's/^[ \t]*//g' -e 's/^[ \t]*$//g'`
+if [ -z "$version" ]; then
+    echo "\n"
+	echo "=============================================================="
+	echo "   文件 ${versionpath} 不存在或内容为空!  "
+	echo "==============================================================\n"
+	exit 1
+fi
+
+if [  "$(gsettings get com.deepin.dde.dock hide-mode)" != "'keep-hidden'" ]; then
+	gsettings set com.deepin.dde.dock hide-mode keep-hidden
+fi
+
+# add library search path
+LIBDIR=${MY_PATH}"/"${version}"/bin"
+check_dir_exists ${LIBDIR}
+
+bootscripts=$LIBDIR"/spshellstart.sh"
+echo $bootscripts
+chmod 766 $bootscripts
+
+if [ $# -eq 0 ]
+then
+	sudo $bootscripts --autotest
+else
+	# echo $#
+	sudo $bootscripts $*
+fi

+ 23 - 0
addin/packaging/WIN/test.vbs

@@ -0,0 +1,23 @@
+base_dir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
+version_path = base_dir & "active.txt"
+version = ReadVersion(version_path)
+bin_path = base_dir & version & "\bin\spshell.exe --autotest"
+Run bin_path
+
+Sub Run(ByVal sFile)
+Dim shell
+	Set shell = CreateObject("WScript.Shell")
+	shell.Run sFile, 1, false
+	Set shell = nothing
+End Sub
+
+Function ReadVersion(sFile)
+	Dim fs
+	Dim tfs
+	Set fs = CreateObject("Scripting.FileSystemObject")
+	Set tfs = fs.OpenTextFile(sFile, 1, True)
+	ReadVersion = Trim(tfs.ReadLine)
+	tfs.Close
+	Set tfs = Nothing
+	Set fs = Nothing
+End Function