void UFunctionalTestingManager::AllTestsDone() { if (GatheredFailedTestsReproString.IsEmpty() == false) { static const FText ReproStringLabel = LOCTEXT("ReproString", "Repro String:"); AddLogItem(ReproStringLabel); AddLogItem(FText::FromString(GatheredFailedTestsReproString)); } if (bLooped == true) { ++CurrentIteration; // reset ensure(TestReproStrings.Num() == 0); SetReproString(StartingReproString); GatheredFailedTestsReproString = TEXT(""); TestsLeft = AllTests; FFormatNamedArguments Arguments; Arguments.Add(TEXT("IterationIndex"), CurrentIteration); AddLogItem(FText::Format(LOCTEXT("StartingIteration", "----- Starting iteration {IterationIndex} -----"), Arguments)); bIsRunning = RunFirstValidTest(); if (bIsRunning == false) { static const FText FailedToStartAnotherIterationText = LOCTEXT("FailedToStartAnotherIteration", "Failed to start another iteration."); AddWarning(FailedToStartAnotherIterationText); } } else { AddLogItem(LOCTEXT("TestDone", "DONE.")); RemoveFromRoot(); } }
void UFunctionalTestingManager::OnWorldCleanedUp(UWorld* World, bool bSessionEnded, bool bCleanupResources) { UWorld* MyWorld = GetWorld(); if (MyWorld == World) { RemoveFromRoot(); } }
void UBPDownloader::HandleHeaderReceived(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded) { if (bSucceeded && HttpResponse.IsValid()) { FString FileLength = HttpResponse->GetHeader(L"Content-Length");// (); FileTotalBytes = (float)UKismetStringLibrary::Conv_StringToInt(FileLength); //Start Downloading StartDownload(); } else { RemoveFromRoot(); OnFail.Broadcast(0.f);//FilePath } }
void UAsyncTaskDownloadImage::Start(FString URL) { #if !UE_SERVER // Create the Http request and add to pending request list TSharedRef<class IHttpRequest> HttpRequest = FHttpModule::Get().CreateRequest(); HttpRequest->OnProcessRequestComplete().BindUObject(this, &UAsyncTaskDownloadImage::HandleImageRequest); HttpRequest->SetURL(URL); HttpRequest->SetVerb(TEXT("GET")); HttpRequest->ProcessRequest(); #else // On the server we don't execute fail or success we just don't fire the request. RemoveFromRoot(); #endif }
void UAsyncTaskDownloadImage::HandleImageRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded) { #if !UE_SERVER RemoveFromRoot(); if ( bSucceeded && HttpResponse.IsValid() && HttpResponse->GetContentLength() > 0 ) { IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper")); IImageWrapperPtr ImageWrappers[3] = { ImageWrapperModule.CreateImageWrapper(EImageFormat::PNG), ImageWrapperModule.CreateImageWrapper(EImageFormat::JPEG), ImageWrapperModule.CreateImageWrapper(EImageFormat::BMP), }; for ( auto ImageWrapper : ImageWrappers ) { if ( ImageWrapper.IsValid() && ImageWrapper->SetCompressed(HttpResponse->GetContent().GetData(), HttpResponse->GetContentLength()) ) { const TArray<uint8>* RawData = NULL; if ( ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, RawData) ) { if ( UTexture2D* Texture = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight()) ) { WriteRawToTexture(Texture, *RawData); OnSuccess.Broadcast(Texture); return; } } } } } OnFail.Broadcast(nullptr); #endif }
void UBPDownloader::HandleFileRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded) { RemoveFromRoot(); if (bSucceeded && HttpResponse.IsValid() && HttpResponse->GetContentLength() > 0) { TArray<uint8> data = HttpResponse->GetContent(); if (!FFileHelper::SaveArrayToFile(data, *FilePath)) { OnFail.Broadcast(0.f); UE_LOG(LogTemp, Warning, TEXT("Unable to save file!")); } else { OnProgressUpdate.Broadcast(1.f); UE_LOG(LogTemp, Warning, TEXT("File download completed!")); } } OnFail.Broadcast(0.f);//FilePath }
void UFunctionalTestingManager::OnEndPIE(const bool bIsSimulating) { RemoveFromRoot(); }