tests: Disable HTTPS server reuse between tests (see issue #3348)

We can't currently reuse the HTTPS server between tests due to
https://crrev.com/dd2a57d753 causing certificate registration issues.
This commit is contained in:
Marshall Greenblatt
2022-08-23 14:57:45 -04:00
parent e95d1653ac
commit bf467e136a
2 changed files with 15 additions and 4 deletions

View File

@@ -29,8 +29,10 @@ class ObserverRegistration : public CefRegistration {
CEF_REQUIRE_UI_THREAD(); CEF_REQUIRE_UI_THREAD();
if (auto manager = Manager::GetInstance(https_server_)) { if (auto manager = Manager::GetInstance(https_server_)) {
manager->RemoveObserver(observer_); manager->RemoveObserver(
observer_->OnUnregistered(); observer_,
base::BindOnce([](Observer* observer) { observer->OnUnregistered(); },
base::Unretained(observer_)));
} }
} }
@@ -210,7 +212,7 @@ void Manager::AddObserver(Observer* observer) {
observer_list_.push_back(observer); observer_list_.push_back(observer);
} }
void Manager::RemoveObserver(Observer* observer) { void Manager::RemoveObserver(Observer* observer, DoneCallback callback) {
CEF_REQUIRE_UI_THREAD(); CEF_REQUIRE_UI_THREAD();
bool found = false; bool found = false;
ObserverList::iterator it = observer_list_.begin(); ObserverList::iterator it = observer_list_.begin();
@@ -222,6 +224,15 @@ void Manager::RemoveObserver(Observer* observer) {
} }
} }
EXPECT_TRUE(found); EXPECT_TRUE(found);
if (observer_list_.empty() && https_server_ && !stopping_) {
// Stop the HTTPS server when the last Observer is removed. We can't
// currently reuse the HTTPS server between tests due to
// https://crrev.com/dd2a57d753 causing cert registration issues.
StopImpl(std::move(callback));
} else {
std::move(callback).Run();
}
} }
void Manager::OnServerCreated(const std::string& server_origin) { void Manager::OnServerCreated(const std::string& server_origin) {

View File

@@ -68,7 +68,7 @@ class Manager : public Runner::Delegate {
void StopImpl(DoneCallback callback); void StopImpl(DoneCallback callback);
void AddObserver(Observer* observer); void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer); void RemoveObserver(Observer* observer, DoneCallback callback);
// Runner::Delegate methods: // Runner::Delegate methods:
void OnServerCreated(const std::string& server_origin) override; void OnServerCreated(const std::string& server_origin) override;