1154
1155
g_spawn_command_line_sync("rm -rf " CMAKE_BINARY_DIR "/libual-proc", NULL, NULL, NULL, NULL);
1158
TEST_F(LibUAL, AppInfoSignals)
1160
/* Setup the stores mock */
1161
auto mockstore = std::make_shared<MockStore>(registry->impl);
1163
std::make_shared<RegistryMock>(std::list<std::shared_ptr<ubuntu::app_launch::app_store::Base>>{mockstore},
1164
std::shared_ptr<ubuntu::app_launch::jobs::manager::Base>{});
1167
auto singleappid = ubuntu::app_launch::AppID::find(registry, "single");
1168
auto myapp = std::make_shared<MockApp>(singleappid, registry->impl);
1170
/* Setup an app added signal handler */
1171
std::promise<ubuntu::app_launch::AppID> addedAppId;
1172
ubuntu::app_launch::Registry::appAdded(registry).connect(
1173
[&](const std::shared_ptr<ubuntu::app_launch::Application>& app) { addedAppId.set_value(app->appId()); });
1175
mockstore->mock_signalAppAdded(myapp);
1177
EXPECT_EVENTUALLY_FUTURE_EQ(singleappid, addedAppId.get_future());
1179
/* Setup an info changed signal handler */
1180
std::promise<ubuntu::app_launch::AppID> changedAppId;
1181
ubuntu::app_launch::Registry::appInfoUpdated(registry).connect(
1182
[&](const std::shared_ptr<ubuntu::app_launch::Application>& app) { changedAppId.set_value(app->appId()); });
1184
mockstore->mock_signalAppInfoChanged(myapp);
1186
EXPECT_EVENTUALLY_FUTURE_EQ(singleappid, changedAppId.get_future());
1188
/* Setup an app removed signal handler */
1189
std::promise<ubuntu::app_launch::AppID> removedAppId;
1190
ubuntu::app_launch::Registry::appRemoved(registry).connect(
1191
[&](const ubuntu::app_launch::AppID& appid) { removedAppId.set_value(appid); });
1193
mockstore->mock_signalAppRemoved(singleappid);
1195
EXPECT_EVENTUALLY_FUTURE_EQ(singleappid, removedAppId.get_future());
1157
1198
TEST_F(LibUAL, OOMSet)
1159
1200
g_setenv("UBUNTU_APP_LAUNCH_OOM_PROC_PATH", CMAKE_BINARY_DIR "/libual-proc", 1);
1280
auto outputfuture = outputpromise.get_future();
1281
while (outputfuture.wait_for(std::chrono::milliseconds{1}) != std::future_status::ready)
1286
ASSERT_STREQ(filedata, outputfuture.get().c_str());
1321
EXPECT_EVENTUALLY_FUTURE_EQ(std::string{filedata}, outputpromise.get_future());
1376
1411
std::vector<std::string> execList{"Foo", "Bar", "Really really really long value", "Another value"};
1377
1412
ubuntu::app_launch::Helper::setExec(execList);
1379
EXPECT_EQ(execList, socketpromise.get_future().get());
1414
EXPECT_EVENTUALLY_FUTURE_EQ(execList, socketpromise.get_future());
1382
1417
TEST_F(LibUAL, AppInfo)