On Wed, Mar 27, 2019 at 12:24 PM Fabiano Fidêncio <fidencio@xxxxxxxxxx> wrote: > > https://gitlab.com/libosinfo/libosinfo/issues/20 > > Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> > --- > tests/test-db.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 53 insertions(+) > > diff --git a/tests/test-db.c b/tests/test-db.c > index a0fa490..ac7f9c8 100644 > --- a/tests/test-db.c > +++ b/tests/test-db.c > @@ -450,6 +450,57 @@ test_identify_media(void) > } > > > +static OsinfoTree * > +create_tree(const gchar *arch) > +{ > + OsinfoTree *tree; > + > + tree = osinfo_tree_new("foo", arch); > + osinfo_entity_set_param(OSINFO_ENTITY(tree), > + OSINFO_TREE_PROP_TREEINFO_FAMILY, > + "Tree"); > + osinfo_entity_set_param(OSINFO_ENTITY(tree), > + OSINFO_TREE_PROP_TREEINFO_VERSION, > + "unknown"); > + return tree; > +} > + > + > +static void > +test_guess_os_from_tree(void) > +{ > + OsinfoLoader *loader = osinfo_loader_new(); > + OsinfoDb *db; > + OsinfoTree *tree; > + OsinfoTree *matched_tree = NULL; > + OsinfoOs *os; > + > + GError *error = NULL; > + > + osinfo_loader_process_path(loader, SRCDIR "/tests/dbdata", &error); > + g_assert_no_error(error); > + db = osinfo_loader_get_db(loader); > + > + /* Matching against an "unknown" architecture" */ > + tree = create_tree("x86_64"); > + os = osinfo_db_guess_os_from_tree(db, tree, &matched_tree); > + g_assert_nonnull(os); > + g_assert_nonnull(matched_tree); > + g_assert_cmpstr(osinfo_tree_get_architecture(matched_tree), == , "unknown"); `make syntax-check` told me about an extra space after "==" > + g_object_unref(tree); > + matched_tree = NULL; > + > + /* Matching against a known architecture, which has to have precendence */ > + tree = create_tree("i686"); > + os = osinfo_db_guess_os_from_tree(db, tree, &matched_tree); > + g_assert_nonnull(os); > + g_assert_nonnull(matched_tree); > + g_assert_cmpstr(osinfo_tree_get_architecture(matched_tree), == , "i686"); `make syntax-check` told me about an extra space after "==" > + > + g_object_unref(tree); > + g_object_unref(loader); > +} > + > > int > main(int argc, char *argv[]) > @@ -465,6 +516,7 @@ main(int argc, char *argv[]) > g_test_add_func("/db/prop_os", test_prop_os); > g_test_add_func("/db/rel_os", test_rel_os); > g_test_add_func("/db/identify_media", test_identify_media); > + g_test_add_func("/db/guess_os_from_tree", test_guess_os_from_tree); > > /* Upfront so we don't confuse valgrind */ > osinfo_entity_get_type(); > @@ -480,6 +532,7 @@ main(int argc, char *argv[]) > osinfo_loader_get_type(); > osinfo_install_script_get_type(); > osinfo_install_scriptlist_get_type(); > + osinfo_tree_get_type(); > > return g_test_run(); > } > -- > 2.20.1 > _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo