Пример #1
0
RunTestDialog::RunTestDialog(wxWindow* parent, const std::string& _filename, lc3_test_suite& _test) :
 RunTestDialogDecl(parent), suite(_test), filename(_filename)
{
    tspanel = new TestSuiteInfoPanel(right, suite);
	testInfoSizer->Add(tspanel, 1, wxEXPAND|wxALL, 4);
    tcpanel = new TestCaseInfoPanel(right);
	testInfoSizer->Add(tcpanel, 1, wxEXPAND|wxALL, 4);
    cipanel = new CheckInfoPanel(right);
	testInfoSizer->Add(cipanel, 1, wxEXPAND|wxALL, 4);
    UpdateTests();
    tspanel->Show();
    infoSplitter->Layout();
	testInfoSizer->Fit(tspanel);
	infoSplitter->SetSashPosition(infoSplitter->GetSashPosition() + 1);

	wxCommandEvent dummy;
	OnRunTests(dummy);
}
void FAutomationControllerManager::ProcessAvailableTasks()
{
	// Distribute tasks
	if( ClusterDistributionMask != 0)
	{
		// For each device cluster
		for( int32 ClusterIndex = 0; ClusterIndex < DeviceClusterManager.GetNumClusters(); ++ClusterIndex )
		{
			bool bAllTestsComplete = true;

			// If any of the devices were valid
			if( ( ClusterDistributionMask & ( 1<< ClusterIndex ) ) && DeviceClusterManager.GetNumDevicesInCluster( ClusterIndex ) > 0 )
			{
				ExecuteNextTask( ClusterIndex, bAllTestsComplete );
			}

			//if we're all done running our tests
			if ( bAllTestsComplete )
			{
				//we don't need to test this cluster anymore
				ClusterDistributionMask &= ~( 1<<ClusterIndex );

				if ( ClusterDistributionMask == 0 )
				{
					ProcessResults();

					//Notify the graphical layout we are done processing results.
					TestsCompleteDelegate.ExecuteIfBound();
				}
			}
		}
	}

	if (bIsLocalSession == false)
	{
		// Update the test status for timeouts if this is not a local session
		UpdateTests();
	}
}