Exemple #1
0
        private void AddExtraDataMaintainConfigData(GlobalConfigData globalConfigData)
        {
            string databaseName = globalConfigData.GetConfigValue <string>(Constants.DataMaintain, "DatabaseName");
            string testflowHome = globalConfigData.GetConfigValue <string>(Constants.GlobalConfig, "TestflowHome");
            string dataDirPath  = $"{testflowHome}{CommonConst.DataDir}";

            if (!Directory.Exists(dataDirPath))
            {
                Directory.CreateDirectory(dataDirPath);
            }
            string databaseFilePath =
                $"{testflowHome}{CommonConst.DataDir}{Path.DirectorySeparatorChar}{databaseName}";

            globalConfigData.SetConfigItem(Constants.DataMaintain, "DatabaseName", databaseFilePath);
        }
Exemple #2
0
        private void AddExtraGlobalConfigData(GlobalConfigData configData)
        {
            // 更新TestflowHome字段
            string homeDir = Environment.GetEnvironmentVariable(CommonConst.EnvironmentVariable);

            if (null != homeDir && !homeDir.EndsWith(Path.DirectorySeparatorChar.ToString()))
            {
                homeDir += Path.DirectorySeparatorChar;
            }
            configData.AddConfigItem(Constants.GlobalConfig, "TestflowHome", homeDir);

            // 更新WorkspaceDir字段

            // 更新.NET运行时目录
            string dotNetVersion    = configData.GetConfigValue <string>(Constants.GlobalConfig, "DotNetVersion");
            string runtimeDirectory = GetDotNetDir(dotNetVersion);

            configData.AddConfigItem(Constants.GlobalConfig, "DotNetLibDir", runtimeDirectory);

            // 更新.NET安装根目录
            string dotNetRootDir = GetDotNetRootDir();

            configData.AddConfigItem(Constants.GlobalConfig, "DotNetRootDir", dotNetRootDir);

            // 更新Testflow平台默认库目录
            string platformDir = configData.GetConfigValue <string>(Constants.GlobalConfig, "PlatformLibDir");
            string libDir      = $"{homeDir}{platformDir}";

            if (libDir.EndsWith(Path.DirectorySeparatorChar.ToString()))
            {
                libDir += Path.DirectorySeparatorChar;
            }
            configData.SetConfigItem(Constants.GlobalConfig, "PlatformLibDir", libDir);

            // 更新Testflow工作空间目录
            string workspaceDirs = Environment.GetEnvironmentVariable(CommonConst.WorkspaceVariable);

            if (string.IsNullOrWhiteSpace(workspaceDirs) || !Directory.Exists(workspaceDirs))
            {
                TestflowRunner.GetInstance().LogService.Print(LogLevel.Fatal, CommonConst.PlatformLogSession,
                                                              $"Invalid environment variable:{CommonConst.WorkspaceVariable}");
                I18N i18N = I18N.GetInstance(Constants.I18nName);
                throw new TestflowRuntimeException(ModuleErrorCode.InvalidEnvDir, i18N.GetStr("InvalidHomeVariable"));
            }
            string[]      workSpaceDirElems = workspaceDirs.Split(';');
            List <string> workspaceDirList  = new List <string>(workSpaceDirElems.Length);

            foreach (string workSpaceDir in workSpaceDirElems)
            {
                if (string.IsNullOrWhiteSpace(workSpaceDir))
                {
                    continue;
                }
                string dirPath = workSpaceDir;
                if (!workSpaceDir.EndsWith(Path.DirectorySeparatorChar.ToString()))
                {
                    dirPath += Path.DirectorySeparatorChar;
                }
                workspaceDirList.Add(dirPath);
            }
            configData.SetConfigItem(Constants.GlobalConfig, "WorkspaceDir", workspaceDirList.ToArray());
        }