public async Task <ErrorResponse> Compile(FilePath targetPath, CancellationToken cancel) { var start = BuildStartInfoProvider.Construct(targetPath.Name.ToString()); start.WorkingDirectory = targetPath.Directory !; var accumulator = OutputAccumulatorFactory(); var result = await Dropoff.EnqueueAndWait(() => { return(ProcessRunner.RunWithCallback( start, outputCallback: accumulator.Process, errorCallback: e => {}, cancel: cancel)); }, cancel).ConfigureAwait(false); if (result == 0) { return(ErrorResponse.Success); } return(ResultsProcessor.GetResults( targetPath, result, cancel, accumulator)); }
public ResultsProcessor_Tests() { _lastVersionNumberHelper = new LastVersionNumberHelper(); _contact1StartVersionNumber = _lastVersionNumberHelper.Contact1StartVersionNumber; _contact2StartVersionNumber = _lastVersionNumberHelper.Contact2StartVersionNumber; _contsuppStartVersionNumber = _lastVersionNumberHelper.ContsuppStartVersionsNumber; _resultsProcessor = new ResultsProcessor(); _testAccountno = "B5040182438 F[6CPLia"; _createChangeHelper = new CreateChangeHelper(_testAccountno); _changeTrackingProcess = new ChangeTrackingProcess(); _dataApiClient = new DataAPIClient(); }
public GameWindow() { InitializeComponent(); ApiHelper.InitializeClient(); gamesProcessor = new GamesProcessor(); resultsProcessor = new ResultsProcessor(); membersProcessor = new MembersProcessor(); leaguesProcessor = new LeaguesProcessor(); membersWithGames = new List <MemberDTO>(); membersWithResults = new List <MemberDTO>(); }
public unsafe void Run(Action <Stream> action, ResultsProcessor iterationCallback) { if (action is null) { throw new ArgumentNullException(nameof(action)); } Logger.Write("Starting fuzzer client"); using (var stdin = Console.OpenStandardInput()) using (var stream = new UnclosableStreamWrapper(stdin)) { if (_shmid < 0) { Logger.Write("No afl-fuzz detected, dry run"); using (var memory = new UnclosableStreamWrapper(new MemoryStream())) { stream.CopyTo(memory); memory.Seek(0, SeekOrigin.Begin); action(memory); } return; } var ctrlSocket = new ControlSocket.Client(); ctrlSocket.Connect(_hostName, _controlPort); Logger.Write("Control channel established"); var initial = true; using (var r = new BinaryReader(new AnonymousPipeClientStream(PipeDirection.In, "198"))) using (var w = new BinaryWriter(new AnonymousPipeClientStream(PipeDirection.Out, "199"))) { w.Write(0); Logger.Write("Afl-fuzz greeting sent"); for (int nRun = 1; ; nRun++) { Logger.Write($"Starting test run {nRun}"); var pid = ctrlSocket.StartTest(_collectLocations); if (pid == null) { break; } Logger.Write($"Agent reports ready on {pid}"); var alfReq = r.ReadInt32(); Logger.Write($"Afz-fuzz ping request: {alfReq}"); w.Write(pid.Value); Logger.Write("Afz-fuzz ping replied"); Fuzzer.Fault result; using (var memory = new UnclosableStreamWrapper(new MemoryStream())) { stream.CopyTo(memory); while (true) { memory.Seek(0, SeekOrigin.Begin); Logger.Write($"Executing test {nRun}"); result = ExecuteAction(action, memory); if (initial) { // initial run // discard results and retry the test once Logger.Write("Re-executing initial test"); initial = false; ctrlSocket.GetStatus(out var c, out var l); ctrlSocket.StartTest(_collectLocations); memory.Seek(0, SeekOrigin.Begin); result = ExecuteAction(action, memory); } Logger.Write($"Test execution result is {result}, requesting remote results"); var res = ctrlSocket.GetStatus(out var coverage, out var locations).Value; if (res != (uint)Fuzzer.Fault.None) { result = (Fuzzer.Fault)res; } if (!iterationCallback(nRun, locations)) { Logger.Write($"Test results were not accepted, repeating run {nRun}"); ctrlSocket.StartTest(_collectLocations); continue; } if (coverage.Length == Fuzzer.MapSize) { Logger.Write($"Processing remote results"); using (var shmaddr = shmat(_shmid, IntPtr.Zero, 0)) { byte *sharedMem = (byte *)shmaddr.DangerousGetHandle(); for (int i = 0; i < coverage.Length; ++i) { // simulate instrumentation sharedMem[i] += coverage[i]; } } } else { throw new InvalidDataException("covarage bitmap is invalid"); } break; } } Logger.Write($"Reporting run result to afl-fuzz: {result}"); w.Write((uint)result); } } } }
public void Initialize() { _results = new ResultsProcessor(5); }
public ActionResult Upload(List <HttpPostedFileBase> files) { int itemCount = files.Count(); int successfulItemsCount = 0; string fileName = ""; string userName = User.Identity.GetUserName(); string uId = User.Identity.GetUserId(); string errorMsg = ""; var path1 = ""; var path2 = ""; List <string> fileList = new List <string>(); foreach (var item in files) { if (item != null && item.ContentLength > 0) { if (Path.GetExtension(item.FileName).ToLower() == ".csv" || Path.GetExtension(item.FileName).ToLower() == ".txt") { fileName = Path.GetFileName(item.FileName); path1 = Path.Combine(Server.MapPath(Settings.Default.UnprocessedFiles), userName + "_" + fileName); path2 = Path.Combine(Server.MapPath(Settings.Default.ProcessedFiles), userName + "_" + fileName); DirectoryInfo di = new DirectoryInfo(path1); if (!Directory.Exists(path1) && !Directory.Exists(path2)) { item.SaveAs(path1); fileList.Add(fileName); successfulItemsCount = successfulItemsCount + 1; } else { errorMsg = errorMsg + " A file with the name " + fileName + " already exists in the database."; } } else { errorMsg = errorMsg + " The file " + fileName + " was not uploaded due to file type restrictions."; } } else { errorMsg = errorMsg + " A file was skipped during validation."; } } if (successfulItemsCount > 0) { string rpFailed = ""; ResultsProcessor rp = new ResultsProcessor(); rpFailed = rp.GetFiles(fileList, uId, userName); if (rpFailed.Contains("Success")) { ViewBag.Message = "Upload succeeded!"; ViewBag.UploadSuccess = true; } else { ViewBag.ErrorMessage = "One or more files contain variables that could not be calculated."; ViewBag.UploadSuccess = false; } } if (itemCount > successfulItemsCount) { if (errorMsg.Length > 0) { ViewBag.ErrorMessage = errorMsg; ViewBag.UploadSuccess = false; } else { ViewBag.ErrorMessage = "One or more files contain variables that could not be calculated."; ViewBag.UploadSuccess = false; } } return(View("~/Views/Documents/Unprocessed/Uploads.cshtml")); }