void FTestIdentityInterface::Test(UWorld* InWorld, const FOnlineAccountCredentials& InAccountCredentials) { // Toggle the various tests to run bRunLoginTest = true; AccountCredentials = InAccountCredentials; OnlineIdentity = Online::GetIdentityInterface(InWorld, SubsystemName.Len() ? FName(*SubsystemName, FNAME_Find) : NAME_None); if (OnlineIdentity.IsValid()) { // Add delegates for the various async calls OnlineIdentity->AddOnLoginCompleteDelegate(LocalUserIdx, OnLoginCompleteDelegate); // kick off next test StartNextTest(); } else { UE_LOG(LogOnline, Warning, TEXT("Failed to get online identity interface for %s"), *SubsystemName); // done with the test FinishTest(); } }
void FTestFriendsInterface::StartNextTest() { if (bReadFriendsList) { OnlineSub->GetFriendsInterface()->ReadFriendsList(0, FriendsListName); } else if (bAcceptInvites && InvitesToAccept.Num() > 0) { OnlineSub->GetFriendsInterface()->AcceptInvite(0, *InvitesToAccept[0], FriendsListName); } else if (bSendInvites && InvitesToSend.Num() > 0) { OnlineSub->GetFriendsInterface()->SendInvite(0, *InvitesToSend[0], FriendsListName); } else if (bDeleteFriends && FriendsToDelete.Num() > 0) { OnlineSub->GetFriendsInterface()->DeleteFriend(0, *FriendsToDelete[0], FriendsListName); } else if (bDeleteFriendsList) { OnlineSub->GetFriendsInterface()->DeleteFriendsList(0, FriendsListName); } else { FinishTest(); } }
void FTestUserInterface::Test(const TArray<FString>& InUserIds) { UE_LOG(LogOnline, Display, TEXT("FTestUserInterface::Test")); OnlineSub = IOnlineSubsystem::Get(SubsystemName.Len() ? FName(*SubsystemName, FNAME_Find) : NAME_None); if (OnlineSub != NULL && OnlineSub->GetIdentityInterface().IsValid() && OnlineSub->GetUserInterface().IsValid()) { // Add our delegate for the async call OnQueryUserInfoCompleteDelegate = FOnQueryUserInfoCompleteDelegate::CreateRaw(this, &FTestUserInterface::OnQueryUserInfoComplete); OnlineSub->GetUserInterface()->AddOnQueryUserInfoCompleteDelegate(0, OnQueryUserInfoCompleteDelegate); // list of users to query for (int32 Idx=0; Idx < InUserIds.Num(); Idx++) { TSharedPtr<FUniqueNetId> UserId = OnlineSub->GetIdentityInterface()->CreateUniquePlayerId(InUserIds[Idx]); if (UserId.IsValid()) { QueryUserIds.Add(UserId.ToSharedRef()); } } // kick off next test StartNextTest(); } else { UE_LOG(LogOnline, Warning, TEXT("Failed to get user interface for %s"), *SubsystemName); FinishTest(); } }
void ScnSimulLive::OnFinishTest(iCore::MsgTimer*) { //std::cout << "xxxxxxxxxxxxxxxxxxxxxxx Finish SimulLive test xxxxxxxxxxxxxxxxxxxxxxxx\n"; m_tSubsGenerator.Stop(); m_prof.Statistic.Finish(); if (m_prof.m_OutStatistic) std::cout << m_prof.Statistic.getAsString(); FinishTest(); }
static Boolean Test2(Widget W) { Dimension h,w; Dimension ch,cw,bw,mw; Position cx,cy; WidgetList kids; Cardinal numkids; int i; XmString string; XmFontList font_list; fprintf(stderr,"Test 2 starting...\n"); XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, NULL); XtVaSetValues(kids[TOPLABEL], XmNbottomAttachment, XmATTACH_NONE, NULL); for (i = 1; i<numkids; i++) { XtUnmanageChild(kids[i]); } XtVaGetValues(kids[TOPLABEL], XmNlabelString, &string, XmNfontList, &font_list, XmNborderWidth, &bw, XmNmarginWidth, &mw, XmNwidth, &cw, NULL); ExpectedResults[1].width = XmStringWidth(font_list,string) + 2 * mw; XmStringFree(string); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = 0; ExpectedResults[0].y = 0; ExpectedResults[0].width = ExpectedResults[1].width + 2 * bw; ExpectedResults[0].height = 19; ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = 0; ExpectedResults[1].y = 0; ExpectedResults[1].height = 17; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].request_mode = 0; ExpectedResults[2].x = 0; ExpectedResults[2].y = 0; ExpectedResults[2].width = 0; ExpectedResults[2].height = 0; printf("Test 2 Unmanage all but the first child\n"); FinishTest(W); return(True); }
void FTestUserInterface::StartNextTest() { if (bQueryUserInfo) { OnlineSub->GetUserInterface()->QueryUserInfo(0, QueryUserIds); } else { FinishTest(); } }
/** * Step through the various tests that should be run and initiate the next one */ void FTestEntitlementsInterface::StartNextTest() { if (bQueryEntitlements) { EntitlementsOSS->QueryEntitlements(*UserId, FString()); } else { FinishTest(); } }
void FTestIdentityInterface::StartNextTest() { if (bRunLoginTest) { // no external account credentials so use internal secret key for login OnlineIdentity->Login(LocalUserIdx, AccountCredentials); } else { // done with the test FinishTest(); } }
void FTestEntitlementsInterface::Test(UWorld* InWorld) { IOnlineSubsystem* OSS = Online::GetSubsystem(InWorld, SubsystemName.Len() ? FName(*SubsystemName, FNAME_Find) : NAME_None); IdentityOSS = OSS->GetIdentityInterface(); if (IdentityOSS.IsValid()) { UserId = IdentityOSS->GetUniquePlayerId(LocalUserIdx); } if (UserId.IsValid() && UserId->IsValid()) { EntitlementsOSS = OSS->GetEntitlementsInterface(); if (EntitlementsOSS.IsValid()) { // Add delegates for the various async calls OnQueryEntitlementsCompleteDelegateHandle = EntitlementsOSS->AddOnQueryEntitlementsCompleteDelegate_Handle(OnQueryEntitlementsCompleteDelegate); // kick off next test StartNextTest(); } else { UE_LOG(LogOnline, Warning, TEXT("Entitlement test failed. Failed to get entitlement service API")); // done with the test FinishTest(); } } else { UE_LOG(LogOnline, Warning, TEXT("Entitlement test failed. No logged in user")); // done with the test FinishTest(); } }
void FTestFriendsInterface::Test(const TArray<FString>& Invites) { OnlineSub = IOnlineSubsystem::Get(SubsystemName.Len() ? FName(*SubsystemName, FNAME_Find) : NAME_None); if (OnlineSub != NULL && OnlineSub->GetIdentityInterface().IsValid() && OnlineSub->GetFriendsInterface().IsValid()) { // don't affect default friends list for MCP if (SubsystemName.Equals(TEXT("MCP"),ESearchCase::IgnoreCase)) { FriendsListName = TEXT("TestFriends"); } // Add our delegate for the async call OnReadFriendsCompleteDelegate = FOnReadFriendsListCompleteDelegate::CreateRaw(this, &FTestFriendsInterface::OnReadFriendsComplete); OnAcceptInviteCompleteDelegate = FOnAcceptInviteCompleteDelegate::CreateRaw(this, &FTestFriendsInterface::OnAcceptInviteComplete); OnSendInviteCompleteDelegate = FOnSendInviteCompleteDelegate::CreateRaw(this, &FTestFriendsInterface::OnSendInviteComplete); OnDeleteFriendCompleteDelegate = FOnDeleteFriendCompleteDelegate::CreateRaw(this, &FTestFriendsInterface::OnDeleteFriendComplete); OnDeleteFriendsListCompleteDelegate = FOnDeleteFriendsListCompleteDelegate::CreateRaw(this, &FTestFriendsInterface::OnDeleteFriendsListComplete); OnlineSub->GetFriendsInterface()->AddOnReadFriendsListCompleteDelegate(0, OnReadFriendsCompleteDelegate); OnlineSub->GetFriendsInterface()->AddOnAcceptInviteCompleteDelegate(0, OnAcceptInviteCompleteDelegate); OnlineSub->GetFriendsInterface()->AddOnSendInviteCompleteDelegate(0, OnSendInviteCompleteDelegate); OnlineSub->GetFriendsInterface()->AddOnDeleteFriendCompleteDelegate(0, OnDeleteFriendCompleteDelegate); OnlineSub->GetFriendsInterface()->AddOnDeleteFriendsListCompleteDelegate(0, OnDeleteFriendsListCompleteDelegate); // list of pending users to send invites to for (int32 Idx=0; Idx < Invites.Num(); Idx++) { TSharedPtr<FUniqueNetId> FriendId = OnlineSub->GetIdentityInterface()->CreateUniquePlayerId(Invites[Idx]); if (FriendId.IsValid()) { InvitesToSend.Add(FriendId); } } // kick off next test StartNextTest(); } else { UE_LOG(LogOnline, Warning, TEXT("Failed to get friends interface for %s"), *SubsystemName); FinishTest(); } }
static Boolean Test1(Widget W) { Dimension h,w; Dimension ch,cw,bw; Position cx,cy; WidgetList kids; Cardinal numkids; XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, XmNwidth, &w, XmNheight, &h, NULL); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = 0; ExpectedResults[0].y = 0; ExpectedResults[0].width = w * 2; ExpectedResults[0].height = h * 2; XtVaGetValues(kids[TOPLABEL], XmNborderWidth, &bw, NULL); ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = 0; ExpectedResults[1].y = 0; ExpectedResults[1].width = w * 2 - 2 * bw; ExpectedResults[1].height = h * 2 - 4 * bw - 17; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].x = 0; ExpectedResults[2].y = h * 2 - 2 * bw - 17; ExpectedResults[2].width = w * 2 - 2 * bw; ExpectedResults[2].height = 17; XtVaSetValues(W, XmNwidth, w * 2, XmNheight, h * 2, NULL); printf("Test 1 double form height and width\n"); FinishTest(W); return(True); }
void AFunctionalTest::Tick(float DeltaSeconds) { // already requested not to tick. if (bIsRunning == false) { return; } TimeLeft -= DeltaSeconds; if (TimeLimit > 0.f && TimeLeft <= 0.f) { FinishTest(TimesUpResult, TimesUpMessage.ToString()); } else { Super::Tick(DeltaSeconds); } }
void FTestFriendsInterface::StartNextTest() { if (bReadFriendsList) { FOnReadFriendsListComplete Delegate = FOnReadFriendsListComplete::CreateRaw(this, &FTestFriendsInterface::OnReadFriendsComplete); OnlineSub->GetFriendsInterface()->ReadFriendsList(0, FriendsListName, Delegate); } else if (bQueryRecentPlayers) { if (OnlineSub->GetIdentityInterface().IsValid() && OnlineSub->GetIdentityInterface()->GetUniquePlayerId(0).IsValid()) { OnlineSub->GetFriendsInterface()->QueryRecentPlayers(*OnlineSub->GetIdentityInterface()->GetUniquePlayerId(0), RecentPlayersNamespace); } bQueryRecentPlayers = false; } else if (bAcceptInvites && InvitesToAccept.Num() > 0) { FOnAcceptInviteComplete Delegate = FOnAcceptInviteComplete::CreateRaw(this, &FTestFriendsInterface::OnAcceptInviteComplete); OnlineSub->GetFriendsInterface()->AcceptInvite(0, *InvitesToAccept[0], FriendsListName, Delegate); } else if (bSendInvites && InvitesToSend.Num() > 0) { FOnSendInviteComplete OnSendInviteCompleteDelegate = FOnSendInviteComplete::CreateRaw(this, &FTestFriendsInterface::OnSendInviteComplete); OnlineSub->GetFriendsInterface()->SendInvite(0, *InvitesToSend[0], FriendsListName, OnSendInviteCompleteDelegate); } else if (bDeleteFriends && FriendsToDelete.Num() > 0) { OnlineSub->GetFriendsInterface()->DeleteFriend(0, *FriendsToDelete[0], FriendsListName); } else if (bDeleteFriendsList) { FOnDeleteFriendsListComplete Delegate = FOnDeleteFriendsListComplete::CreateRaw(this, &FTestFriendsInterface::OnDeleteFriendsListComplete); OnlineSub->GetFriendsInterface()->DeleteFriendsList(0, FriendsListName, Delegate); } else { FinishTest(); } }
void FTestTitleFileInterface::OnReadFileComplete(bool bSuccess, const FString& Filename) { if (bSuccess) { UE_LOG(LogOnline, Log, TEXT("File read. file=[%s]"), *Filename); TArray<uint8> FileContents; OnlineTitleFile->GetFileContents(Filename, FileContents); UE_LOG(LogOnline, Log, TEXT("File length=%d. file=[%s]"), FileContents.Num(), *Filename); OnlineTitleFile->ClearFile(Filename); } else { UE_LOG(LogOnline, Log, TEXT("File not read. file=[%s]"), *Filename); } NumPendingFileReads--; if (NumPendingFileReads <= 0) { FinishTest(); } }
void FTestTitleFileInterface::OnEnumerateFilesComplete(bool bSuccess) { TArray<FCloudFileHeader> Files; OnlineTitleFile->GetFileList(Files); UE_LOG(LogOnline, Log, TEXT("Found %i files"), Files.Num()); NumPendingFileReads = Files.Num(); if (NumPendingFileReads > 0) { for (TArray<FCloudFileHeader>::TConstIterator It(Files); It; ++It) { // kick off reads const FCloudFileHeader& CloudFile = *It; OnlineTitleFile->ReadFile(CloudFile.DLName); } } else { // no files to read FinishTest(); } }
static Boolean Test5(Widget W) { WidgetList kids; Cardinal numkids; XtWidgetGeometry Form; XtWidgetGeometry Kid1; XtWidgetGeometry Kid2; fprintf(stderr,"Test 5 starting...\n"); XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, XmNx, &Form.x, XmNy, &Form.y, XmNwidth, &Form.width, XmNheight, &Form.height, NULL); XtVaGetValues(kids[TOPLABEL], XmNx, &Kid1.x, XmNy, &Kid1.y, XmNwidth, &Kid1.width, XmNheight, &Kid1.height, XmNborderWidth, &Kid1.border_width, NULL); XtVaGetValues(kids[BOTLABEL], XmNx, &Kid2.x, XmNy, &Kid2.y, XmNwidth, &Kid2.width, XmNheight, &Kid2.height, XmNborderWidth, &Kid2.border_width, NULL); XtUnmanageChild(kids[TOPLABEL]); XtVaSetValues(W, NULL); XtVaSetValues(kids[TOPLABEL], NULL); XtVaSetValues(kids[BOTLABEL], XmNwidth, 100, XmNheight, 50, NULL); XtManageChild(kids[BOTLABEL]); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = Form.x; ExpectedResults[0].y = Form.y; ExpectedResults[0].width = 100 + 2 * Kid2.border_width; ExpectedResults[0].height = 50 + 2 * Kid2.border_width; ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = Kid1.x; ExpectedResults[1].y = Kid1.x; ExpectedResults[1].width = Kid1.width; ExpectedResults[1].height = Kid1.height; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].x = Kid2.x; ExpectedResults[2].y = Kid2.y; ExpectedResults[2].width = 100; ExpectedResults[2].height = 50; printf("Test 5\n"); FinishTest(W); return(True); }
static Boolean Skeleton(Widget W) { WidgetList kids; Cardinal numkids; XtWidgetGeometry Form; XtWidgetGeometry Kid1; XtWidgetGeometry Kid2; XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, XmNx, &Form.x, XmNy, &Form.y, XmNwidth, &Form.width, XmNheight, &Form.height, NULL); XtVaGetValues(kids[TOPLABEL], XmNx, &Kid1.x, XmNy, &Kid1.y, XmNwidth, &Kid1.width, XmNheight, &Kid1.height, XmNborderWidth, &Kid1.border_width, NULL); XtVaGetValues(kids[BOTLABEL], XmNx, &Kid2.x, XmNy, &Kid2.y, XmNwidth, &Kid2.width, XmNheight, &Kid2.height, XmNborderWidth, &Kid2.border_width, NULL); XtVaSetValues(kids[TOPLABEL], NULL); XtVaSetValues(kids[BOTLABEL], NULL); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = Form.x; ExpectedResults[0].y = Form.y; ExpectedResults[0].width = Form.width; ExpectedResults[0].height = Form.height; ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = Kid1.x; ExpectedResults[1].y = Kid1.x; ExpectedResults[1].width = Kid1.width; ExpectedResults[1].height = Kid1.height; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].x = Kid2.x; ExpectedResults[2].y = Kid2.y; ExpectedResults[2].width = Kid2.width; ExpectedResults[2].height = Kid2.height; printf("Test ? a skeleton for more tests (does nothing)\n"); FinishTest(W); return(True); }
static Boolean Test3(Widget W) { WidgetList kids; Cardinal numkids; XtWidgetGeometry Form; XtWidgetGeometry Kid1; XtWidgetGeometry Kid2; fprintf(stderr,"Test 3 starting...\n"); XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, XmNx, &Form.x, XmNy, &Form.y, XmNwidth, &Form.width, XmNheight, &Form.height, NULL); XtVaGetValues(kids[TOPLABEL], XmNx, &Kid1.x, XmNy, &Kid1.y, XmNwidth, &Kid1.width, XmNheight, &Kid1.height, XmNborderWidth, &Kid1.border_width, NULL); XtVaGetValues(kids[BOTLABEL], XmNx, &Kid2.x, XmNy, &Kid2.y, XmNwidth, &Kid2.width, XmNheight, &Kid2.height, XmNborderWidth, &Kid2.border_width, NULL); XtVaSetValues(kids[TOPLABEL], XmNrightAttachment, XmATTACH_NONE, XmNwidth, Kid1.width * 4, NULL); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = 0; ExpectedResults[0].y = 0; ExpectedResults[0].width = Kid1.width * 4 + 2 * Kid1.border_width; ExpectedResults[0].height = Form.height; ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = 0; ExpectedResults[1].y = 0; ExpectedResults[1].width = Kid1.width * 4; ExpectedResults[1].height = Kid1.height; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].request_mode = 0; ExpectedResults[2].x = 0; ExpectedResults[2].y = 0; ExpectedResults[2].width = 0; ExpectedResults[2].height = 0; printf("Test 3\n"); FinishTest(W); return(True); }
static Boolean Test4(Widget W) { WidgetList kids; Cardinal numkids; XtWidgetGeometry Form; XtWidgetGeometry Kid1; XtWidgetGeometry Kid2; fprintf(stderr,"Test 4 starting...\n"); XtVaGetValues(W, XmNchildren, &kids, XmNnumChildren, &numkids, XmNx, &Form.x, XmNy, &Form.y, XmNwidth, &Form.width, XmNheight, &Form.height, NULL); XtVaGetValues(kids[TOPLABEL], XmNx, &Kid1.x, XmNy, &Kid1.y, XmNwidth, &Kid1.width, XmNheight, &Kid1.height, XmNborderWidth, &Kid1.border_width, NULL); XtVaGetValues(kids[BOTLABEL], XmNx, &Kid2.x, XmNy, &Kid2.y, XmNwidth, &Kid2.width, XmNheight, &Kid2.height, XmNborderWidth, &Kid2.border_width, NULL); XtUnmanageChild(W); XtVaSetValues(kids[BOTLABEL], XmNleftAttachment, XmATTACH_FORM, XmNtopAttachment, XmATTACH_FORM, XmNrightAttachment, XmATTACH_NONE, NULL); XtVaSetValues(kids[TOPLABEL], XmNrightAttachment, XmATTACH_FORM, XmNleftAttachment, XmATTACH_WIDGET, XmNleftWidget, kids[1], NULL); XtManageChild(kids[BOTLABEL]); XtManageChild(W); XtVaGetValues(kids[BOTLABEL], XmNx, &Kid2.x, XmNy, &Kid2.y, XmNwidth, &Kid2.width, XmNheight, &Kid2.height, XmNborderWidth, &Kid2.border_width, NULL); ExpectedResults[0].request_mode = CWWidth | CWHeight; ExpectedResults[0].x = Form.x; ExpectedResults[0].y = Form.y; ExpectedResults[0].width = Form.width; ExpectedResults[0].height = Form.height; ExpectedResults[1].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[1].x = Kid2.width + 2 * Kid2.border_width; ExpectedResults[1].y = Kid1.x; ExpectedResults[1].width = Form.width - Kid2.width - 2 * Kid1.border_width - 2 * Kid2.border_width; ExpectedResults[1].height = Kid1.height; ExpectedResults[2].request_mode = CWX | CWY | CWWidth | CWHeight; ExpectedResults[2].x = Kid2.x; ExpectedResults[2].y = 0; ExpectedResults[2].width = Kid2.width; ExpectedResults[2].height = Kid2.height; printf("Test 4\n"); FinishTest(W); return(True); }