From 65bbd2166948a79dfb0f36bdeb55cff2ad74ef66 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Wed, 9 Mar 2016 09:38:02 -0500 Subject: [PATCH] tests: Build tags/album test with ctest Signed-off-by: Anna Schumaker --- tests/core/tags/CMakeLists.txt | 1 + tests/core/tags/Sconscript | 2 +- tests/core/tags/album.c | 119 +++++++++++++++++---------------- 3 files changed, 65 insertions(+), 57 deletions(-) diff --git a/tests/core/tags/CMakeLists.txt b/tests/core/tags/CMakeLists.txt index 7bb61ba0..8988fb4d 100644 --- a/tests/core/tags/CMakeLists.txt +++ b/tests/core/tags/CMakeLists.txt @@ -5,3 +5,4 @@ function(tag_unit_test name) endfunction() tag_unit_test(Artist) +tag_unit_test(Album) diff --git a/tests/core/tags/Sconscript b/tests/core/tags/Sconscript index 900e881f..8b394840 100644 --- a/tests/core/tags/Sconscript +++ b/tests/core/tags/Sconscript @@ -12,7 +12,7 @@ def TagTest(name): env.UsePackage("taglib_c") core_objs += [ env.Object("../../../core/tags/artist.c") ] -res += [ TagTest("album") ] +core_objs += [ env.Object("../../../core/tags/album.c") ] res += [ TagTest("genre") ] res += [ TagTest("library") ] diff --git a/tests/core/tags/album.c b/tests/core/tags/album.c index ec22667e..3bcb8018 100644 --- a/tests/core/tags/album.c +++ b/tests/core/tags/album.c @@ -8,23 +8,23 @@ static void test_verify_empty(struct album *album) { const struct db_ops *album_ops = test_album_ops(); - test_equal(album->al_name, ""); - test_equal((void *)album->al_tokens[0], NULL); - test_equal((void *)album->al_alts[0], NULL); - test_equal(album->al_year, 0); - test_str_equal(album_ops->dbe_key(&album->al_dbe), "0/"); + g_assert_cmpstr(album->al_name, ==, ""); + g_assert_null(album->al_tokens[0]); + g_assert_null(album->al_alts[0]); + g_assert_cmpuint(album->al_year, ==, 0); + g_assert_cmpstr_free(album_ops->dbe_key(&album->al_dbe), ==, "0/"); } static void test_verify_hyrule(struct album *album) { const struct db_ops *album_ops = test_album_ops(); - test_equal(album->al_name, "Hyrule Symphony"); - test_equal(album->al_tokens[0], "hyrule"); - test_equal(album->al_tokens[1], "symphony"); - test_equal((void *)album->al_tokens[2], NULL); - test_equal((void *)album->al_alts[0], NULL); - test_equal(album->al_year, 1998); - test_str_equal(album_ops->dbe_key(&album->al_dbe), "1998/Hyrule Symphony"); + g_assert_cmpstr(album->al_name, ==, "Hyrule Symphony"); + g_assert_cmpstr(album->al_tokens[0], ==, "hyrule"); + g_assert_cmpstr(album->al_tokens[1], ==, "symphony"); + g_assert_null(album->al_tokens[2]); + g_assert_null(album->al_alts[0]); + g_assert_cmpuint(album->al_year, ==, 1998); + g_assert_cmpstr_free(album_ops->dbe_key(&album->al_dbe), ==, "1998/Hyrule Symphony"); } static void test_album() @@ -37,9 +37,9 @@ static void test_album() album = ALBUM(album_ops->dbe_alloc("1998/Hyrule Symphony")); test_verify_hyrule(album); - test_equal(album_match_token(album, "hyrule"), (bool)true); - test_equal(album_match_token(album, "symphony"), (bool)true); - test_equal(album_match_token(album, "skyward"), (bool)false); + g_assert_true( album_match_token(album, "hyrule")); + g_assert_true( album_match_token(album, "symphony")); + g_assert_false(album_match_token(album, "skyward")); file_init(&f, "album_tag", 0, 0); file_open(&f, OPEN_WRITE); @@ -67,18 +67,18 @@ static void test_album_compare() twilight = ALBUM(album_ops->dbe_alloc("2006/Twilight Princess")); skyward = ALBUM(album_ops->dbe_alloc("2011/skyward sword")); - test_equal(album_compare(twilight, twilight), 0); - test_equal(album_compare(twilight, skyward), 1); - test_equal(album_compare(skyward, twilight), -1); + g_assert_cmpint(album_compare(twilight, twilight), ==, 0); + g_assert_cmpint(album_compare(twilight, skyward), ==, 1); + g_assert_cmpint(album_compare(skyward, twilight), ==, -1); - test_equal(album_compare_year(twilight, twilight), 0); - test_equal(album_compare_year(twilight, skyward), -5); - test_equal(album_compare_year(skyward, twilight), 5); + g_assert_cmpint(album_compare_year(twilight, twilight), ==, 0); + g_assert_cmpint(album_compare_year(twilight, skyward), ==, -5); + g_assert_cmpint(album_compare_year(skyward, twilight), ==, 5); skyward->al_year = 2006; - test_equal(album_compare_year(twilight, twilight), 0); - test_equal(album_compare_year(twilight, skyward), 1); - test_equal(album_compare_year(skyward, twilight), -1); + g_assert_cmpint(album_compare_year(twilight, twilight), ==, 0); + g_assert_cmpint(album_compare_year(twilight, skyward), ==, 1); + g_assert_cmpint(album_compare_year(skyward, twilight), ==, -1); album_ops->dbe_free(&twilight->al_dbe); album_ops->dbe_free(&skyward->al_dbe); @@ -90,18 +90,16 @@ static void test_album_db() struct database album_db; struct album *album; - album_db_init(); album = album_find("Hyrule Symphony", 1998); - test_verify_hyrule(album); - test_equal((void *)album_find("Hyrule Symphony", 1998), (void *)album); - test_equal((void *)album_get(0), (void *)album); - test_equal((void *)album_get(1), (void *)NULL); + g_assert(album_find("Hyrule Symphony", 1998) == album); + g_assert(album_get(0) == album); + g_assert_null(album_get(1)); db_init(&album_db, "album.db", false, album_ops); db_load(&album_db); - test_equal(album_db.db_size, 1); + g_assert_cmpuint(album_db.db_size, ==, 1); db_deinit(&album_db); } @@ -113,14 +111,13 @@ static void test_album_artwork() struct artist *koji; const gchar *cache; - artist_db_init(); idle_deinit(); idle_init(); cache = g_get_user_cache_dir(); - o_path = g_build_filename(cache, "ocarina-test", "1998", "Ocarina of Time.jpg", NULL); - m_path = g_build_filename(cache, "ocarina-test", "2000", "Majora%27s Mask.jpg", NULL); - w_path = g_build_filename(cache, "ocarina-test", "0", "Wind Waker.jpg", NULL); + o_path = g_build_filename(cache, "ocarina-test", "core", "tags", "album", "1998", "Ocarina of Time.jpg", NULL); + m_path = g_build_filename(cache, "ocarina-test", "core", "tags", "album", "2000", "Majora%27s Mask.jpg", NULL); + w_path = g_build_filename(cache, "ocarina-test", "core", "tags", "album", "0", "Wind Waker.jpg", NULL); ocarina = album_find("Ocarina of Time", 1998); majora = album_find("Majora's Mask", 2000); @@ -128,41 +125,51 @@ static void test_album_artwork() koji = artist_find("Koji Kondo"); ocarina->al_artist = koji; - test_equal(album_artwork_exists(ocarina), (bool)false); - test_equal(album_artwork_exists(majora), (bool)false); - test_equal(album_artwork_exists(wind), (bool)false); - test_equal((void *)album_artwork_path(ocarina), NULL); - test_equal((void *)album_artwork_path(majora), NULL); - test_equal((void *)album_artwork_path(wind), NULL); + g_assert_false(album_artwork_exists(ocarina)); + g_assert_false(album_artwork_exists(majora)); + g_assert_false(album_artwork_exists(wind)); + g_assert_null(album_artwork_path(ocarina)); + g_assert_null(album_artwork_path(majora)); + g_assert_null(album_artwork_path(wind)); while (idle_run_task()) {} - test_equal(album_artwork_exists(ocarina), (bool)true); - test_equal(album_artwork_exists(majora), (bool)true); - test_equal(album_artwork_exists(wind), (bool)true); - test_str_equal(album_artwork_path(ocarina), o_path); - test_str_equal(album_artwork_path(majora), m_path); - test_str_equal(album_artwork_path(wind), w_path); + g_assert_true(album_artwork_exists(ocarina)); + g_assert_true(album_artwork_exists(majora)); + g_assert_true(album_artwork_exists(wind)); + g_assert_cmpstr_free(album_artwork_path(ocarina), ==, o_path); + g_assert_cmpstr_free(album_artwork_path(majora), ==, m_path); + g_assert_cmpstr_free(album_artwork_path(wind), ==, w_path); /* Import the original Ocarina of Time album art. */ ocarina_3d = album_find("Ocarina of Time 3D", 2011); - test_equal(album_artwork_exists(ocarina_3d), (bool)false); + g_assert_false(album_artwork_exists(ocarina_3d)); album_artwork_import(ocarina_3d, NULL); - test_equal(album_artwork_exists(ocarina_3d), (bool)false); + g_assert_false(album_artwork_exists(ocarina_3d)); album_artwork_import(ocarina_3d, o_path); - test_equal(album_artwork_exists(ocarina_3d), (bool)true); + g_assert_true(album_artwork_exists(ocarina_3d)); g_free(o_path); g_free(m_path); g_free(w_path); +} + +int main(int argc, char **argv) +{ + int ret; + + idle_init(); + artist_db_init(); + album_db_init(); + g_test_init(&argc, &argv, NULL); + g_test_add_func("/Core/Tags/Album", test_album); + g_test_add_func("/Core/Tags/Album/Comparison", test_album_compare); + g_test_add_func("/Core/Tags/Album/Database", test_album_db); + g_test_add_func("/Core/Tags/Album/Artwork", test_album_artwork); + ret = g_test_run(); + album_db_deinit(); artist_db_deinit(); idle_deinit(); + return ret; } - -DECLARE_UNIT_TESTS( - UNIT_TEST("Album Tag", test_album), - UNIT_TEST("Album Comparison", test_album_compare), - UNIT_TEST("Album Database", test_album_db), - UNIT_TEST("Album Artwork", test_album_artwork), -);