libxbps: require an underscore in strings to detect correctly pkgname/version.
This commit is contained in:
@@ -38,21 +38,21 @@ static const char dictxml[] =
|
||||
" <key>pkgname</key>\n"
|
||||
" <string>afoo</string>\n"
|
||||
" <key>version</key>\n"
|
||||
" <string>1.1</string>\n"
|
||||
" <string>1.1_1</string>\n"
|
||||
" <key>pkgver</key>\n"
|
||||
" <string>afoo-1.1</string>\n"
|
||||
" <string>afoo-1.1_1</string>\n"
|
||||
" <key>provides</key>\n"
|
||||
" <array>\n"
|
||||
" <string>virtualpkg-9999</string>\n"
|
||||
" <string>virtualpkg-9999_1</string>\n"
|
||||
" </array>\n"
|
||||
" </dict>\n"
|
||||
" <dict>\n"
|
||||
" <key>pkgname</key>\n"
|
||||
" <string>foo</string>\n"
|
||||
" <key>version</key>\n"
|
||||
" <string>2.0</string>\n"
|
||||
" <string>2.0_1</string>\n"
|
||||
" <key>pkgver</key>\n"
|
||||
" <string>foo-2.0</string>\n"
|
||||
" <string>foo-2.0_1</string>\n"
|
||||
" </dict>\n"
|
||||
" </array>\n"
|
||||
"</dict>\n"
|
||||
@@ -105,7 +105,7 @@ ATF_TC_BODY(find_pkg_in_dict_by_pkgver_test, tc)
|
||||
ATF_REQUIRE_EQ(prop_object_type(d), PROP_TYPE_DICTIONARY);
|
||||
|
||||
/* exact match by pkgver */
|
||||
dr = xbps_find_pkg_in_dict_by_pkgver(d, "packages", "foo-2.0");
|
||||
dr = xbps_find_pkg_in_dict_by_pkgver(d, "packages", "foo-2.0_1");
|
||||
ATF_REQUIRE_EQ(prop_object_type(dr), PROP_TYPE_DICTIONARY);
|
||||
}
|
||||
|
||||
@@ -123,10 +123,15 @@ ATF_TC_BODY(find_virtualpkg_in_dict_by_pattern_test, tc)
|
||||
ATF_REQUIRE_EQ(prop_object_type(d), PROP_TYPE_DICTIONARY);
|
||||
|
||||
/* match virtualpkg by pattern */
|
||||
dr = xbps_find_virtualpkg_in_dict_by_pattern(d, "packages", "virtualpkg<=9999");
|
||||
dr = xbps_find_virtualpkg_in_dict_by_pattern(d, "packages", "virtualpkg>=9999");
|
||||
ATF_REQUIRE_EQ(prop_object_type(dr), PROP_TYPE_DICTIONARY);
|
||||
prop_dictionary_get_cstring_nocopy(dr, "pkgver", &pkgver);
|
||||
ATF_REQUIRE_STREQ(pkgver, "afoo-1.1");
|
||||
ATF_REQUIRE_STREQ(pkgver, "afoo-1.1_1");
|
||||
|
||||
dr = xbps_find_virtualpkg_in_dict_by_pattern(d, "packages", "virtualpkg<=9999_1");
|
||||
ATF_REQUIRE_EQ(prop_object_type(dr), PROP_TYPE_DICTIONARY);
|
||||
prop_dictionary_get_cstring_nocopy(dr, "pkgver", &pkgver);
|
||||
ATF_REQUIRE_STREQ(pkgver, "afoo-1.1_1");
|
||||
}
|
||||
|
||||
ATF_TC(find_virtualpkg_in_dict_by_name_test);
|
||||
@@ -146,7 +151,7 @@ ATF_TC_BODY(find_virtualpkg_in_dict_by_name_test, tc)
|
||||
dr = xbps_find_virtualpkg_in_dict_by_name(d, "packages", "virtualpkg");
|
||||
ATF_REQUIRE_EQ(prop_object_type(dr), PROP_TYPE_DICTIONARY);
|
||||
prop_dictionary_get_cstring_nocopy(dr, "pkgver", &pkgver);
|
||||
ATF_REQUIRE_STREQ(pkgver, "afoo-1.1");
|
||||
ATF_REQUIRE_STREQ(pkgver, "afoo-1.1_1");
|
||||
}
|
||||
|
||||
ATF_TP_ADD_TCS(tp)
|
||||
|
||||
@@ -33,8 +33,8 @@ array_init(void)
|
||||
|
||||
a = prop_array_create();
|
||||
ATF_REQUIRE(a != NULL);
|
||||
prop_array_add_cstring_nocopy(a, "foo-2.0");
|
||||
prop_array_add_cstring_nocopy(a, "blah-2.1");
|
||||
prop_array_add_cstring_nocopy(a, "foo-2.0_1");
|
||||
prop_array_add_cstring_nocopy(a, "blah-2.1_1");
|
||||
|
||||
return a;
|
||||
}
|
||||
@@ -48,8 +48,8 @@ ATF_TC_HEAD(match_string_test, tc)
|
||||
ATF_TC_BODY(match_string_test, tc)
|
||||
{
|
||||
prop_array_t a = array_init();
|
||||
ATF_REQUIRE_EQ(xbps_match_string_in_array(a, "foo-2.0"), true);
|
||||
ATF_REQUIRE_EQ(xbps_match_string_in_array(a, "foo-2.1"), false);
|
||||
ATF_REQUIRE_EQ(xbps_match_string_in_array(a, "foo-2.0_1"), true);
|
||||
ATF_REQUIRE_EQ(xbps_match_string_in_array(a, "foo-2.1_1"), false);
|
||||
}
|
||||
|
||||
ATF_TC(match_pkgname_test);
|
||||
@@ -87,7 +87,7 @@ ATF_TC_HEAD(match_pkgdep_test, tc)
|
||||
ATF_TC_BODY(match_pkgdep_test, tc)
|
||||
{
|
||||
prop_array_t a = array_init();
|
||||
ATF_REQUIRE_EQ(xbps_match_pkgdep_in_array(a, "foo-2.0"), true);
|
||||
ATF_REQUIRE_EQ(xbps_match_pkgdep_in_array(a, "foo-2.0_1"), true);
|
||||
}
|
||||
|
||||
ATF_TP_ADD_TCS(tp)
|
||||
|
||||
@@ -37,17 +37,17 @@ static const char dictxml[] =
|
||||
" <key>pkgname</key>\n"
|
||||
" <string>afoo</string>\n"
|
||||
" <key>version</key>\n"
|
||||
" <string>1.1</string>\n"
|
||||
" <string>1.1_1</string>\n"
|
||||
" <key>pkgver</key>\n"
|
||||
" <string>afoo-1.1</string>\n"
|
||||
" <string>afoo-1.1_1</string>\n"
|
||||
" </dict>\n"
|
||||
" <dict>\n"
|
||||
" <key>pkgname</key>\n"
|
||||
" <string>foo</string>\n"
|
||||
" <key>version</key>\n"
|
||||
" <string>2.0</string>\n"
|
||||
" <string>2.0_1</string>\n"
|
||||
" <key>pkgver</key>\n"
|
||||
" <string>foo-2.0</string>\n"
|
||||
" <string>foo-2.0_1</string>\n"
|
||||
" </dict>\n"
|
||||
" </array>\n"
|
||||
"</dict>\n"
|
||||
@@ -64,9 +64,9 @@ static const char dictxml2[] =
|
||||
" <key>pkgname</key>\n"
|
||||
" <string>foo</string>\n"
|
||||
" <key>version</key>\n"
|
||||
" <string>2.0</string>\n"
|
||||
" <string>2.0_1</string>\n"
|
||||
" <key>pkgver</key>\n"
|
||||
" <string>foo-2.0</string>\n"
|
||||
" <string>foo-2.0_1</string>\n"
|
||||
" </dict>\n"
|
||||
" </array>\n"
|
||||
"</dict>\n"
|
||||
@@ -77,8 +77,8 @@ static const char axml[] =
|
||||
"<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
|
||||
"<plist version=\"1.0\">\n"
|
||||
"<array>\n"
|
||||
" <string>foo-1.0</string>\n"
|
||||
" <string>blah-2.0</string>\n"
|
||||
" <string>foo-1.0_1</string>\n"
|
||||
" <string>blah-2.0_1</string>\n"
|
||||
"</array>\n"
|
||||
"</plist>\n";
|
||||
|
||||
@@ -87,7 +87,7 @@ static const char axml2[] =
|
||||
"<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
|
||||
"<plist version=\"1.0\">\n"
|
||||
"<array>\n"
|
||||
" <string>blah-2.0</string>\n"
|
||||
" <string>blah-2.0_1</string>\n"
|
||||
"</array>\n"
|
||||
"</plist>\n";
|
||||
|
||||
@@ -156,7 +156,7 @@ ATF_TC_BODY(remove_pkg_from_array_by_pkgver_test, tc)
|
||||
ATF_REQUIRE_EQ(prop_object_type(d2), PROP_TYPE_DICTIONARY);
|
||||
|
||||
a = prop_dictionary_get(d, "packages");
|
||||
ATF_REQUIRE_EQ(xbps_remove_pkg_from_array_by_pkgver(a, "afoo-1.1", NULL), true);
|
||||
ATF_REQUIRE_EQ(xbps_remove_pkg_from_array_by_pkgver(a, "afoo-1.1_1", NULL), true);
|
||||
ATF_REQUIRE_EQ(prop_dictionary_equals(d, d2), true);
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ ATF_TC_BODY(remove_string_from_array_test, tc)
|
||||
a2 = prop_array_internalize(axml2);
|
||||
ATF_REQUIRE_EQ(prop_object_type(a2), PROP_TYPE_ARRAY);
|
||||
|
||||
ATF_REQUIRE_EQ(xbps_remove_string_from_array(a, "foo-1.0"), true);
|
||||
ATF_REQUIRE_EQ(xbps_remove_string_from_array(a, "foo-1.0_1"), true);
|
||||
ATF_REQUIRE_EQ(prop_array_equals(a, a2), true);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,16 +36,23 @@ ATF_TC_HEAD(util_test, tc)
|
||||
|
||||
ATF_TC_BODY(util_test, tc)
|
||||
{
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_name("font-adobe-100dpi-7.8"), "font-adobe-100dpi");
|
||||
ATF_CHECK_EQ(xbps_pkg_name("font-adobe-100dpi-7.8"), NULL);
|
||||
ATF_CHECK_EQ(xbps_pkg_version("font-adobe-100dpi"), NULL);
|
||||
ATF_CHECK_EQ(xbps_pkg_version("font-adobe-100dpi-7.8"), NULL);
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_name("font-adobe-100dpi-7.8_2"), "font-adobe-100dpi");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_name("systemd-43_1"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_name("font-adobe-100dpi-1.8_blah"), "font-adobe-100dpi");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_version("font-adobe-100dpi-7.8_2"), "7.8_2");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_version("font-adobe-100dpi-1.8_blah"), "1.8_blah");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_revision("systemd-43_1_0"), "0");
|
||||
ATF_REQUIRE_STREQ(xbps_pkg_revision("systemd_21-43_0"), "0");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>=43"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>=43"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>43"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd<43"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd<=43"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd-[0-9]*"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>4[3-9]?"), "systemd");
|
||||
ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd<4_1?"), "systemd");
|
||||
}
|
||||
|
||||
ATF_TP_ADD_TCS(tp)
|
||||
|
||||
Reference in New Issue
Block a user