aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Engberg <diizzy@FreeBSD.org>2023-01-13 08:11:10 +0000
committerMatthias Fechner <mfechner@FreeBSD.org>2023-01-13 08:13:08 +0000
commitbc220a9f11481453f1f9b3864dcadc2c37b8eca8 (patch)
tree37d4258d4c2c5924e6aa8d016b3ba10e09f919ec
parente36f5b597da96e6c61113b92dbfaef5770ee7625 (diff)
downloadports-bc220a9f11481453f1f9b3864dcadc2c37b8eca8.tar.gz
ports-bc220a9f11481453f1f9b3864dcadc2c37b8eca8.zip
devel/libgit2: only build test suite when we request it and adjust tests
There's still one failure that seems to be occurring if you're running as root [1] and I'm unable to work out where and/or if upstream ever fixed this test. References: https://github.com/archlinux/svntogit-packages/blob/packages/libgit2/trunk/PKGBUILD 1: https://github.com/libgit2/libgit2/issues/6307 PR: 268572
-rw-r--r--devel/libgit2/Makefile16
-rw-r--r--devel/libgit2/files/patch-tests_libgit2_network_url_parse.c116
2 files changed, 122 insertions, 10 deletions
diff --git a/devel/libgit2/Makefile b/devel/libgit2/Makefile
index c757c815352b..4537569b02e7 100644
--- a/devel/libgit2/Makefile
+++ b/devel/libgit2/Makefile
@@ -17,12 +17,15 @@ LICENSE= GPLv2
LIB_DEPENDS= libpcre2-8.so:devel/pcre2 \
libhttp_parser.so:www/http-parser
-USES= cmake cpe pkgconfig python:build ssl
+USES= cmake:testing cpe pkgconfig python:build ssl
USE_GITHUB= yes
USE_LDCONFIG= yes
-CMAKE_ARGS= -DREGEX_BACKEND=pcre2 -DUSE_HTTP_PARSER=system
-CMAKE_OFF= BUILD_CLAR
+CMAKE_TESTING_ON= BUILD_TESTS
+
+CMAKE_ARGS= -DREGEX_BACKEND=pcre2 -DUSE_HTTP_PARSER=system \
+ -DCMAKE_CTEST_ARGUMENTS="-E;'invasive|online'"
+CMAKE_OFF= BUILD_TESTS
PLIST_SUB= DISTVERSION=${DISTVERSION} \
SHLIB_VER=${DISTVERSION:R}
@@ -43,11 +46,4 @@ post-patch:
${WRKSRC}/cmake/SelectHTTPSBackend.cmake
.endif
-do-test:
- @cd ${BUILD_WRKSRC} && \
- ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
- -DBUILD_CLAR=ON ${CMAKE_SOURCE_PATH} && \
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
- ${SETENV} ${MAKE_ENV} CTEST_OUTPUT_ON_FAILURE=1 ${MAKE_CMD} ${MAKE_ARGS} test
-
.include <bsd.port.post.mk>
diff --git a/devel/libgit2/files/patch-tests_libgit2_network_url_parse.c b/devel/libgit2/files/patch-tests_libgit2_network_url_parse.c
new file mode 100644
index 000000000000..1e7cea713eb0
--- /dev/null
+++ b/devel/libgit2/files/patch-tests_libgit2_network_url_parse.c
@@ -0,0 +1,116 @@
+--- tests/libgit2/network/url/parse.c.orig 2022-07-14 00:06:59 UTC
++++ tests/libgit2/network/url/parse.c
+@@ -63,18 +63,6 @@ void test_network_url_parse__hostname_implied_root_cus
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+ }
+
+-void test_network_url_parse__hostname_implied_root_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://example.com:"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "example.com");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+-}
+-
+ void test_network_url_parse__hostname_encoded_password(void)
+ {
+ cl_git_pass(git_net_url_parse(&conndata,
+@@ -129,18 +117,6 @@ void test_network_url_parse__hostname_port(void)
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+ }
+
+-void test_network_url_parse__hostname_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://example.com:/resource"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "example.com");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/resource");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+-}
+-
+ void test_network_url_parse__hostname_user_port(void)
+ {
+ /* user@hostname.tld:port/resource */
+@@ -219,18 +195,6 @@ void test_network_url_parse__ipv4_implied_root_custom_
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+ }
+
+-void test_network_url_parse__ipv4_implied_root_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://192.168.1.1:"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "192.168.1.1");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+-}
+-
+ void test_network_url_parse__ipv4_encoded_password(void)
+ {
+ cl_git_pass(git_net_url_parse(&conndata,
+@@ -283,18 +247,6 @@ void test_network_url_parse__ipv4_port(void)
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+ }
+
+-void test_network_url_parse__ipv4_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://192.168.1.1:/resource"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "192.168.1.1");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/resource");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+-}
+-
+ void test_network_url_parse__ipv4_user_port(void)
+ {
+ cl_git_pass(git_net_url_parse(&conndata,
+@@ -371,18 +323,6 @@ void test_network_url_parse__ipv6_implied_root_custom_
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+ }
+
+-void test_network_url_parse__ipv6_implied_root_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://[fe80::dcad:beff:fe00:0001]:"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "fe80::dcad:beff:fe00:0001");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+-}
+-
+ void test_network_url_parse__ipv6_encoded_password(void)
+ {
+ cl_git_pass(git_net_url_parse(&conndata,
+@@ -433,18 +373,6 @@ void test_network_url_parse__ipv6_port(void)
+ cl_assert_equal_p(conndata.username, NULL);
+ cl_assert_equal_p(conndata.password, NULL);
+ cl_assert_equal_i(git_net_url_is_default_port(&conndata), 0);
+-}
+-
+-void test_network_url_parse__ipv6_empty_port(void)
+-{
+- cl_git_pass(git_net_url_parse(&conndata, "http://[fe80::dcad:beff:fe00:0001]:/resource"));
+- cl_assert_equal_s(conndata.scheme, "http");
+- cl_assert_equal_s(conndata.host, "fe80::dcad:beff:fe00:0001");
+- cl_assert_equal_s(conndata.port, "80");
+- cl_assert_equal_s(conndata.path, "/resource");
+- cl_assert_equal_p(conndata.username, NULL);
+- cl_assert_equal_p(conndata.password, NULL);
+- cl_assert_equal_i(git_net_url_is_default_port(&conndata), 1);
+ }
+
+ void test_network_url_parse__ipv6_user_port(void)