1.1 --- a/tests/plover-gtk/test-transactionhelper.c Thu Jun 16 12:11:14 2016 +0100
1.2 +++ b/tests/plover-gtk/test-transactionhelper.c Fri Mar 22 11:53:00 2019 +0000
1.3 @@ -29,6 +29,16 @@
1.4 GtkBuilder *ui;
1.5 gboolean manual_mode=FALSE;
1.6
1.7 +#if 0
1.8 +static void complete_changed(GtkWidget *page,GParamSpec *child_property,
1.9 + PloverTransactionHelper *helper)
1.10 +{
1.11 + g_message("complete child property for %s now %s",
1.12 + gtk_buildable_get_name(GTK_BUILDABLE(page)),
1.13 + gtk_assistant_get_page_complete(helper->assistant,page)?"TRUE":"FALSE");
1.14 +}
1.15 +#endif
1.16 +
1.17 PloverTransactionHelper *get_transaction_helper(void)
1.18 {
1.19 const char *dir;
1.20 @@ -43,6 +53,23 @@
1.21 g_free(s);
1.22 helper=plover_transaction_helper_new(ui);
1.23 g_object_unref(ui);
1.24 +#if 0
1.25 + if (helper->assistant)
1.26 + {
1.27 + GtkWidget *page;
1.28 + int i;
1.29 + for(i=gtk_assistant_get_n_pages(helper->assistant)-1;i>=0;i--)
1.30 + {
1.31 + page=gtk_assistant_get_nth_page(helper->assistant,i);
1.32 + g_signal_connect(page,"child-notify::complete",
1.33 + G_CALLBACK(complete_changed),helper);
1.34 + g_message("complete child property for %s initially %s",
1.35 + gtk_buildable_get_name(GTK_BUILDABLE(page)),
1.36 + gtk_assistant_get_page_complete(helper->assistant,page)?
1.37 + "TRUE":"FALSE");
1.38 + }
1.39 + }
1.40 +#endif
1.41 return helper;
1.42 }
1.43
1.44 @@ -56,6 +83,8 @@
1.45 static void test_basic_properties(void)
1.46 {
1.47 const char *prefix;
1.48 + char *uri;
1.49 + gchar *default_prefix;
1.50 GError *err=NULL;
1.51 struct comps *comps;
1.52 PloverTransactionHelper *helper;
1.53 @@ -64,7 +93,9 @@
1.54 upstream=plover_repository_new_from_yum("../yum-repo-test-dir",&err);
1.55 if (!upstream)
1.56 g_error("../yum-repo-test-dir: %s",err->message);
1.57 - installed=plover_package_set_new_from_installed("../razor-test-dir",&err);
1.58 + uri=razor_path_to_uri("../razor-test-dir");
1.59 + installed=plover_package_set_new_from_installed(uri,&err);
1.60 + free(uri);
1.61 if (!installed)
1.62 g_error("../razor-test-dir: %s",err->message);
1.63 helper=get_transaction_helper();
1.64 @@ -81,7 +112,12 @@
1.65 g_assert(plover_comps_lookup_group(comps,"base"));
1.66 prefix=plover_transaction_helper_get_prefix(helper,&err);
1.67 g_assert(!err);
1.68 - g_assert_cmpstr(prefix,==,plover_default_prefix_for_vendor("Acme Corporation"));
1.69 + comps=plover_comps_new();
1.70 + plover_comps_set_vendor(comps,"Acme Corporation");
1.71 + default_prefix=plover_comps_get_default_prefix(comps);
1.72 + plover_comps_free(comps);
1.73 + g_assert_cmpstr(prefix,==,default_prefix);
1.74 + g_free(default_prefix);
1.75 g_assert(!plover_transaction_helper_get_visible(helper));
1.76 g_assert(!plover_transaction_helper_get_error(helper,NULL));
1.77 g_object_unref(upstream);
1.78 @@ -91,21 +127,21 @@
1.79
1.80 static void test_install_group(void)
1.81 {
1.82 - gchar *root,*root_uri;
1.83 + gchar *root;
1.84 GError *err=NULL;
1.85 - GFile *file;
1.86 + char *uri;
1.87 PloverPackageSet *installed;
1.88 PloverTransactionHelper *helper;
1.89 root=g_strdup("razor-test-dir-XXXXXX");
1.90 g_assert(mkdtemp(root));
1.91 - file=g_file_new_for_path(root);
1.92 + uri=razor_path_to_uri(root);
1.93 g_free(root);
1.94 - root_uri=g_file_get_uri(file);
1.95 - g_object_unref(file);
1.96 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.97 - g_free(root_uri);
1.98 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.99 + free(uri);
1.100 helper=get_transaction_helper();
1.101 - installed=plover_package_set_new_from_installed("../razor-test-dir",&err);
1.102 + uri=razor_path_to_uri("../razor-test-dir");
1.103 + installed=plover_package_set_new_from_installed(uri,&err);
1.104 + free(uri);
1.105 if (!installed)
1.106 g_error("../razor-test-dir: %s",err->message);
1.107 plover_transaction_helper_set_installed(helper,installed);
1.108 @@ -120,20 +156,17 @@
1.109
1.110 static void test_remove_group(void)
1.111 {
1.112 - gchar *root,*root_uri;
1.113 + gchar *root;
1.114 + char *uri;
1.115 GError *err=NULL;
1.116 - GFile *file;
1.117 PloverPackageSet *installed;
1.118 PloverTransactionHelper *helper;
1.119 struct plover_vector *packages;
1.120 char *pkgs[]={"zip",NULL};
1.121 root=g_strdup("razor-test-dir-XXXXXX");
1.122 g_assert(mkdtemp(root));
1.123 - file=g_file_new_for_path(root);
1.124 - root_uri=g_file_get_uri(file);
1.125 - g_object_unref(file);
1.126 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.127 - g_free(root_uri);
1.128 + uri=razor_path_to_uri(root);
1.129 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.130 helper=get_transaction_helper();
1.131 plover_transaction_helper_set_base(helper,"../yum-repo-test-dir");
1.132 packages=plover_transaction_helper_group_get_default_packages(helper,
1.133 @@ -143,7 +176,7 @@
1.134 if (!plover_install("../yum-repo-test-dir",NULL,packages->strings,&err))
1.135 g_error("plover_install: %s",err->message);
1.136 plover_vector_free(packages);
1.137 - installed=plover_package_set_new_from_installed(root,&err);
1.138 + installed=plover_package_set_new_from_installed(uri,&err);
1.139 if (!installed)
1.140 g_error("%s: %s",root,err->message);
1.141 plover_transaction_helper_set_installed(helper,installed);
1.142 @@ -153,26 +186,26 @@
1.143 g_assert(!err);
1.144 g_object_unref(helper);
1.145 g_unsetenv("RAZOR_ROOT");
1.146 + free(uri);
1.147 g_free(root);
1.148 }
1.149
1.150 static void test_update(void)
1.151 {
1.152 - gchar *root,*root_uri;
1.153 + gchar *root;
1.154 + char *uri;
1.155 GError *err=NULL;
1.156 - GFile *file;
1.157 PloverPackageSet *installed;
1.158 PloverTransactionHelper *helper;
1.159 root=g_strdup("razor-test-dir-XXXXXX");
1.160 g_assert(mkdtemp(root));
1.161 - file=g_file_new_for_path(root);
1.162 - g_free(root);
1.163 - root_uri=g_file_get_uri(file);
1.164 - g_object_unref(file);
1.165 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.166 - g_free(root_uri);
1.167 + uri=razor_path_to_uri(root);
1.168 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.169 + g_free(uri);
1.170 helper=get_transaction_helper();
1.171 - installed=plover_package_set_new_from_installed("../razor-test-dir",&err);
1.172 + uri=razor_path_to_uri("../razor-test-dir");
1.173 + installed=plover_package_set_new_from_installed(uri,&err);
1.174 + free(uri);
1.175 if (!installed)
1.176 g_error("../razor-test-dir: %s",err->message);
1.177 plover_transaction_helper_set_installed(helper,installed);
1.178 @@ -204,6 +237,19 @@
1.179 struct run_install_baton *baton=data;
1.180 GtkWidget *page;
1.181 GtkAssistant *assistant=baton->helper->assistant;
1.182 +#if 0
1.183 + page=gtk_assistant_get_nth_page(assistant,
1.184 + gtk_assistant_get_current_page(assistant));
1.185 + g_message("run_install_tick: state is %s, on page %s",
1.186 + baton->state==RI_STATE_INIT?"INIT":
1.187 + baton->state==RI_STATE_SUMMARY?"SUMMARY":
1.188 + baton->state==RI_STATE_PROGRESS?"PROGRESS":
1.189 + baton->state==RI_STATE_PROGRESS_DELAY?"PROGRESS_DELAY":
1.190 + baton->state==RI_STATE_DONE?"DONE":
1.191 + baton->state==RI_STATE_FINISH?"FINISH":
1.192 + "Unknown",
1.193 + gtk_buildable_get_name(GTK_BUILDABLE(page)));
1.194 +#endif
1.195 switch(baton->state)
1.196 {
1.197 case RI_STATE_INIT:
1.198 @@ -215,6 +261,7 @@
1.199 case RI_STATE_SUMMARY:
1.200 if (gtk_assistant_get_current_page(assistant)<1)
1.201 return TRUE;
1.202 + g_assert(gtk_widget_is_sensitive(assistant->apply));
1.203 if (!manual_mode)
1.204 gtk_button_clicked(GTK_BUTTON(assistant->apply));
1.205 break;
1.206 @@ -254,23 +301,20 @@
1.207
1.208 static void test_run_install(void)
1.209 {
1.210 - gchar *root,*root_uri;
1.211 + gchar *root;
1.212 + char *uri;
1.213 GError *err=NULL;
1.214 - GFile *file;
1.215 struct plover_vector *packages;
1.216 PloverPackageSet *installed;
1.217 PloverTransactionHelper *helper;
1.218 struct run_install_baton baton={0,};
1.219 root=g_strdup("razor-test-dir-XXXXXX");
1.220 g_assert(mkdtemp(root));
1.221 - file=g_file_new_for_path(root);
1.222 - root_uri=g_file_get_uri(file);
1.223 - g_object_unref(file);
1.224 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.225 - g_free(root_uri);
1.226 + uri=razor_path_to_uri(root);
1.227 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.228 helper=get_transaction_helper();
1.229 installed=plover_package_set_new();
1.230 - if (!plover_package_set_open(installed,root,TRUE,&err))
1.231 + if (!plover_package_set_open(installed,uri,TRUE,&err))
1.232 g_error("%s: %s",root,err->message);
1.233 plover_transaction_helper_set_installed(helper,installed);
1.234 g_object_unref(installed);
1.235 @@ -287,6 +331,7 @@
1.236 gtk_main();
1.237 g_object_unref(helper);
1.238 g_unsetenv("RAZOR_ROOT");
1.239 + free(uri);
1.240 g_free(root);
1.241 }
1.242
1.243 @@ -320,6 +365,7 @@
1.244 case RR_STATE_SUMMARY:
1.245 if (gtk_assistant_get_current_page(assistant)<1)
1.246 return TRUE;
1.247 + g_assert(gtk_widget_is_sensitive(assistant->apply));
1.248 if (!manual_mode)
1.249 gtk_button_clicked(GTK_BUTTON(assistant->apply));
1.250 break;
1.251 @@ -359,20 +405,17 @@
1.252
1.253 static void test_run_remove(void)
1.254 {
1.255 - gchar *root,*root_uri;
1.256 + gchar *root;
1.257 + char *uri;
1.258 GError *err=NULL;
1.259 - GFile *file;
1.260 struct plover_vector *packages;
1.261 PloverPackageSet *installed;
1.262 PloverTransactionHelper *helper;
1.263 struct run_remove_baton baton={0,};
1.264 root=g_strdup("razor-test-dir-XXXXXX");
1.265 g_assert(mkdtemp(root));
1.266 - file=g_file_new_for_path(root);
1.267 - root_uri=g_file_get_uri(file);
1.268 - g_object_unref(file);
1.269 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.270 - g_free(root_uri);
1.271 + uri=razor_path_to_uri(root);
1.272 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.273 helper=get_transaction_helper();
1.274 plover_transaction_helper_set_base(helper,"../yum-repo-test-dir");
1.275 packages=
1.276 @@ -383,7 +426,7 @@
1.277 g_error("plover_install: %s",err->message);
1.278 plover_vector_free(packages);
1.279 installed=plover_package_set_new();
1.280 - if (!plover_package_set_open(installed,root,TRUE,&err))
1.281 + if (!plover_package_set_open(installed,uri,TRUE,&err))
1.282 g_error("%s: %s",root,err->message);
1.283 plover_transaction_helper_set_installed(helper,installed);
1.284 g_object_unref(installed);
1.285 @@ -396,6 +439,7 @@
1.286 gtk_main();
1.287 g_object_unref(helper);
1.288 g_unsetenv("RAZOR_ROOT");
1.289 + free(uri);
1.290 g_free(root);
1.291 }
1.292
1.293 @@ -429,6 +473,7 @@
1.294 case RU_STATE_SUMMARY:
1.295 if (gtk_assistant_get_current_page(assistant)<1)
1.296 return TRUE;
1.297 + g_assert(gtk_widget_is_sensitive(assistant->apply));
1.298 if (!manual_mode)
1.299 gtk_button_clicked(GTK_BUTTON(assistant->apply));
1.300 break;
1.301 @@ -468,9 +513,9 @@
1.302
1.303 static void test_run_update(void)
1.304 {
1.305 - gchar *root,*root_uri;
1.306 + gchar *root;
1.307 + char *uri;
1.308 GError *err=NULL;
1.309 - GFile *file;
1.310 struct razor_importer *importer;
1.311 struct razor_set *downgraded;
1.312 struct razor_atomic *atomic;
1.313 @@ -480,15 +525,12 @@
1.314 struct run_update_baton baton={0,};
1.315 root=g_strdup("razor-test-dir-XXXXXX");
1.316 g_assert(mkdtemp(root));
1.317 - file=g_file_new_for_path(root);
1.318 - root_uri=g_file_get_uri(file);
1.319 - g_object_unref(file);
1.320 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.321 - g_free(root_uri);
1.322 + uri=razor_path_to_uri(root);
1.323 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.324 helper=get_transaction_helper();
1.325 plover_transaction_helper_set_base(helper,"../yum-repo-test-dir");
1.326 installed=plover_package_set_new();
1.327 - if (!plover_package_set_open(installed,root,TRUE,&err))
1.328 + if (!plover_package_set_open(installed,uri,TRUE,&err))
1.329 g_error("%s: %s",root,err->message);
1.330 importer=razor_importer_create();
1.331 razor_importer_begin_package(importer,"zappy","0-1","noarch");
1.332 @@ -513,6 +555,7 @@
1.333 gtk_main();
1.334 g_object_unref(helper);
1.335 g_unsetenv("RAZOR_ROOT");
1.336 + free(uri);
1.337 g_free(root);
1.338 }
1.339
1.340 @@ -590,8 +633,8 @@
1.341 static void test_check_vendor(void)
1.342 {
1.343 int fh;
1.344 - gchar *root,*root_uri,*s;
1.345 - GFile *file;
1.346 + gchar *root,*s;
1.347 + char *uri;
1.348 GError *err=NULL;
1.349 struct razor_importer *importer;
1.350 struct razor_set *downgraded;
1.351 @@ -599,19 +642,17 @@
1.352 struct plover_vector *packages;
1.353 PloverPackageSet *installed;
1.354 PloverTransactionHelper *helper;
1.355 - struct run_update_baton baton={0,};
1.356 + struct check_vendor_baton baton={0,};
1.357 g_setenv("PLOVER_VENDOR_PREFIX","/srv",TRUE);
1.358 root=g_strdup("razor-test-dir-XXXXXX");
1.359 g_assert(mkdtemp(root));
1.360 - file=g_file_new_for_path(root);
1.361 - root_uri=g_file_get_uri(file);
1.362 - g_object_unref(file);
1.363 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.364 + uri=razor_path_to_uri(root);
1.365 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.366 helper=get_transaction_helper();
1.367 plover_transaction_helper_set_check_vendor(helper,TRUE);
1.368 plover_transaction_helper_set_base(helper,"../yum-repo-test-dir");
1.369 installed=plover_package_set_new();
1.370 - if (!plover_package_set_open(installed,root,TRUE,&err))
1.371 + if (!plover_package_set_open(installed,uri,TRUE,&err))
1.372 g_error("%s: %s",root,err->message);
1.373 importer=razor_importer_create();
1.374 razor_importer_begin_package(importer,"zappy","0-1","noarch");
1.375 @@ -622,8 +663,8 @@
1.376 razor_importer_finish_package(importer);
1.377 downgraded=razor_importer_finish(importer);
1.378 atomic=razor_atomic_open("Add downgraded packages");
1.379 - razor_atomic_make_dirs(atomic,root_uri,"/test/bin/zappy");
1.380 - s=g_build_filename(root_uri,"test/bin/zappy",NULL);
1.381 + razor_atomic_make_dirs(atomic,uri,"/test/bin/zappy");
1.382 + s=g_build_filename(uri,"test/bin/zappy",NULL);
1.383 fh=razor_atomic_create_file(atomic,s,S_IRWXU|S_IRWXG|S_IRWXO);
1.384 g_free(s);
1.385 razor_atomic_close(atomic,fh);
1.386 @@ -644,10 +685,139 @@
1.387 g_object_unref(helper);
1.388 g_unsetenv("RAZOR_ROOT");
1.389 g_free(root);
1.390 - g_free(root_uri);
1.391 + free(uri);
1.392 g_unsetenv("PLOVER_VENDOR_PREFIX");
1.393 }
1.394
1.395 +static gchar *create_new_root_and_install(gchar **prefix_p,char **pkgs)
1.396 +{
1.397 + gchar *root,*prefix;
1.398 + char *uri;
1.399 + GError *err=NULL;
1.400 + struct comps *comps;
1.401 + PloverTransaction *transaction;
1.402 + root=g_strdup("razor-test-dir-XXXXXX");
1.403 + g_assert(mkdtemp(root));
1.404 + uri=razor_path_to_uri(root);
1.405 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.406 + free(uri);
1.407 + uri=razor_path_to_uri("../yum-repo-test-dir/repodata/comps.xml");
1.408 + comps=plover_comps_new_from_uri(uri,&err);
1.409 + free(uri);
1.410 + if (!comps)
1.411 + g_error("../yum-repo-test-dir/repodata/comps.xml: %s",err->message);
1.412 + prefix=plover_comps_get_default_prefix(comps);
1.413 + plover_comps_free(comps);
1.414 + transaction=plover_transaction_new_install("../yum-repo-test-dir",prefix,
1.415 + pkgs,&err);
1.416 + if (!transaction)
1.417 + g_error("../yum-repo-test-dir: %s",err->message);
1.418 + g_assert(plover_transaction_commit(transaction,NULL,NULL));
1.419 + g_object_unref(transaction);
1.420 + fflush(stdout);
1.421 + if (prefix_p)
1.422 + *prefix_p=prefix;
1.423 + else
1.424 + g_free(prefix);
1.425 + return root;
1.426 +}
1.427 +
1.428 +static check_file(const char *root,const char *path)
1.429 +{
1.430 + gchar *s;
1.431 + s=g_build_filename(root,path,NULL);
1.432 + g_assert(g_file_test(s,G_FILE_TEST_EXISTS));
1.433 + g_free(s);
1.434 +}
1.435 +
1.436 +static check_no_file(const char *root,const char *path)
1.437 +{
1.438 + gchar *s;
1.439 + s=g_build_filename(root,path,NULL);
1.440 + g_assert(!g_file_test(s,G_FILE_TEST_EXISTS));
1.441 + g_free(s);
1.442 +}
1.443 +
1.444 +/*
1.445 + * Test that installing from a repository which is marked as distribution-local
1.446 + * on top of an existing global installation works if prefix is NULL
1.447 + * (which is the case on UNIX if PLOVER_VENDOR_PREFIX is not set).
1.448 + */
1.449 +static void test_unprefixed_distribution_local(void)
1.450 +{
1.451 + gchar *root;
1.452 + GError *err=NULL;
1.453 + char *pkgs[]={"zap",NULL};
1.454 + struct plover_vector *packages;
1.455 + PloverPackageSet *installed;
1.456 + PloverTransactionHelper *helper;
1.457 + struct run_install_baton baton={0,};
1.458 + g_unsetenv("PLOVER_VENDOR_PREFIX");
1.459 + root=create_new_root_and_install(NULL,pkgs);
1.460 + check_file(root,"/usr/bin/zap");
1.461 + helper=get_transaction_helper();
1.462 + plover_transaction_helper_set_check_vendor(helper,TRUE);
1.463 + plover_transaction_helper_set_base(helper,"../distribution-local-test-dir");
1.464 + packages=plover_vector_new();
1.465 + plover_vector_append(packages,"zappy");
1.466 + if (!plover_transaction_helper_install_packages(helper,packages,&err))
1.467 + g_error("zappy: %s",err->message);
1.468 + g_assert(!err);
1.469 + plover_vector_free(packages);
1.470 + plover_transaction_helper_present(helper);
1.471 + baton.helper=helper;
1.472 + baton.eid=g_idle_add_full(G_PRIORITY_LOW,run_install_tick,&baton,NULL);
1.473 + gtk_main();
1.474 + g_object_unref(helper);
1.475 + check_file(root,"/usr/bin/zappy");
1.476 + g_free(root);
1.477 + g_unsetenv("RAZOR_ROOT");
1.478 +}
1.479 +
1.480 +/*
1.481 + * Test that installing from a repository which is marked as distribution-local
1.482 + * on top of an existing global installation requires removing the existing
1.483 + * installation if prefix is non-NULL (which is the case if PLOVER_VENDOR_PREFIX
1.484 + * is set).
1.485 + */
1.486 +static void test_prefixed_distribution_local(void)
1.487 +{
1.488 + gchar *root,*s;
1.489 + gchar *prefix;
1.490 + GError *err=NULL;
1.491 + char *pkgs[]={"zap",NULL};
1.492 + struct plover_vector *packages;
1.493 + PloverPackageSet *installed;
1.494 + PloverTransactionHelper *helper;
1.495 + struct check_vendor_baton baton={0,};
1.496 + g_setenv("PLOVER_VENDOR_PREFIX","/srv",TRUE);
1.497 + helper=get_transaction_helper();
1.498 + plover_transaction_helper_set_check_vendor(helper,TRUE);
1.499 + plover_transaction_helper_set_base(helper,"../distribution-local-test-dir");
1.500 + root=create_new_root_and_install(&prefix,pkgs);
1.501 + s=g_build_filename(prefix,"bin/zap",NULL);
1.502 + check_file(root,s);
1.503 + g_free(s);
1.504 + packages=plover_vector_new();
1.505 + plover_vector_append(packages,"filesystem");
1.506 + if (!plover_transaction_helper_install_packages(helper,packages,&err))
1.507 + g_error("filesystem: %s",err->message);
1.508 + g_assert(!err);
1.509 + plover_vector_free(packages);
1.510 + plover_transaction_helper_present(helper);
1.511 + baton.helper=helper;
1.512 + baton.eid=g_idle_add_full(G_PRIORITY_LOW,check_vendor_tick,&baton,NULL);
1.513 + gtk_main();
1.514 + g_object_unref(helper);
1.515 + s=g_build_filename(prefix,"bin/zap",NULL);
1.516 + check_no_file(root,s);
1.517 + g_free(s);
1.518 + check_no_file(root,"/media");
1.519 + g_free(root);
1.520 + g_free(prefix);
1.521 + g_unsetenv("RAZOR_ROOT");
1.522 +}
1.523 +
1.524 struct set_error_baton {
1.525 enum {
1.526 SE_STATE_INIT = 0,
1.527 @@ -687,24 +857,24 @@
1.528
1.529 static void test_set_error(void)
1.530 {
1.531 - gchar *root,*root_uri;
1.532 + gchar *root;
1.533 + char *uri;
1.534 const char *errmsg;
1.535 GError *err=NULL;
1.536 const GError *err2=NULL;
1.537 - GFile *file;
1.538 PloverPackageSet *installed;
1.539 PloverTransactionHelper *helper;
1.540 struct set_error_baton baton={0,};
1.541 root=g_strdup("razor-test-dir-XXXXXX");
1.542 g_assert(mkdtemp(root));
1.543 - file=g_file_new_for_path(root);
1.544 + uri=razor_path_to_uri(root);
1.545 g_free(root);
1.546 - root_uri=g_file_get_uri(file);
1.547 - g_object_unref(file);
1.548 - g_setenv("RAZOR_ROOT",root_uri,TRUE);
1.549 - g_free(root_uri);
1.550 + g_setenv("RAZOR_ROOT",uri,TRUE);
1.551 + free(uri);
1.552 helper=get_transaction_helper();
1.553 - installed=plover_package_set_new_from_installed("../razor-test-dir",&err);
1.554 + uri=razor_path_to_uri("../razor-test-dir");
1.555 + installed=plover_package_set_new_from_installed(uri,&err);
1.556 + free(uri);
1.557 if (!installed)
1.558 g_error("../razor-test-dir: %s",err->message);
1.559 plover_transaction_helper_set_installed(helper,installed);
1.560 @@ -759,6 +929,10 @@
1.561 g_test_add_func("/transactionhelper/run-remove",test_run_remove);
1.562 g_test_add_func("/transactionhelper/run-update",test_run_update);
1.563 g_test_add_func("/transactionhelper/check-vendor",test_check_vendor);
1.564 + g_test_add_func("/transactionhelper/unprefixed-distribution-local",
1.565 + test_unprefixed_distribution_local);
1.566 + g_test_add_func("/transactionhelper/prefixed-distribution-local",
1.567 + test_prefixed_distribution_local);
1.568 g_test_add_func("/transactionhelper/set-error",test_set_error);
1.569 retval=g_test_run();
1.570 return retval;