I find it a bit weird that we wait inside "CheckTestResult", can we do without CheckTestResult and do just 

test_observer_->WaitForTestComplete();
EXPECT_EQ(test_observer_->GetTestsResult(), PASS);

right here?