コード例 #1
0
    // Tools can override the default behavior as needed
    public virtual bool Update(string updateFile)
    {
        // Make sure the tool folder exists and is empty
        string toolPath = GetToolFolder();

        if (!FileEx.CreateDirectory(toolPath) ||
            !FileEx.DeleteInsideDirectory(toolPath))
        {
            return(false);
        }

        // Extract the update file
        Log.Logger.Information("Extracting {UpdateFile} ...", updateFile);
        return(Tools.SevenZip.UnZip(updateFile, toolPath));
    }
コード例 #2
0
        public int Run()
        {
            // Result file
            FileIterationResultFile resultFile = new FileIterationResultFile(Config.ResultFile);

            ConsoleEx.WriteLine($"Writing results to : \"{resultFile.FileName}\"");
            resultFile.WriteHeader();
            ConsoleEx.WriteLine("");

            // Run the test for each of the target folders
            int result = 0;

            foreach (string target in Config.Targets)
            {
                // Clear target directory
                ConsoleEx.WriteLine($"Starting CreateTest for \"{target}\"");
                if (!FileEx.CreateDirectory(target) ||
                    !FileEx.DeleteInsideDirectory(target))
                {
                    resultFile.AddFailedResult(Config, target);
                    ConsoleEx.WriteLineError($"Failed to create or clear target \"{target}\"");
                    ConsoleEx.WriteLine("");

                    // Next target
                    result = -1;
                    continue;
                }

                // Recursively create files and folders
                Stopwatch timer = new Stopwatch();
                timer.Start();
                CreateFilesInFolder(target, Config.FolderDepth);
                timer.Stop();
                TimeSpan createTime = timer.Elapsed;
                ConsoleEx.WriteLine($"CreateTest Time : {createTime}");
                ConsoleEx.WriteLine("");

                // Recursively read files and folders
                ConsoleEx.WriteLine($"Starting ReadTest for \"{target}\"");
                timer.Restart();
                ReadFilesInFolder(target, out int folderCount, out int fileCount);
                timer.Stop();
                TimeSpan readTime = timer.Elapsed;
                ConsoleEx.WriteLine($"ReadTest Time : {readTime}, Folder Count : {folderCount}, File Count : {fileCount}");
                ConsoleEx.WriteLine("");

                // Clear target directory
                ConsoleEx.WriteLine($"Starting DeleteTest for \"{target}\"");
                timer.Restart();
                FileEx.DeleteInsideDirectory(target);
                timer.Stop();
                TimeSpan deleteTime = timer.Elapsed;
                ConsoleEx.WriteLine($"DeleteTest Time : {deleteTime}");
                ConsoleEx.WriteLine("");

                // Write result
                resultFile.AddResult(Config, target, folderCount, fileCount, createTime, readTime, deleteTime);
            }

            return(result);
        }