From 16b614f2e1ae4ed145f57b256fb27c04ee07e506 Mon Sep 17 00:00:00 2001 From: Ievgenii Meshcheriakov Date: Mon, 21 Feb 2022 18:03:42 +0100 Subject: Network: Use system publicsuffix database copy when available MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ChangeLog][Network][QNetworkCookieJar] It is possible to use system's copy of publicsuffix database when it is available. This behavior is enabled by default on Linux and can be controlled using new command line switches -system-publicsuffix, -qt-publicsuffix, -no-publicsuffix, and -publicsuffix=all. Fixes: QTBUG-95889 Change-Id: I911e1a13c1422cdc35851953309fff064e7c5f26 Reviewed-by: Qt CI Bot Reviewed-by: MÃ¥rten Nordheim --- .../network/access/qnetworkcookiejar/CMakeLists.txt | 2 +- .../testdata/publicsuffix/public_suffix_list.dafsa | Bin 0 -> 52710 bytes .../qnetworkcookiejar/tst_qnetworkcookiejar.cpp | 20 ++++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 tests/auto/network/access/qnetworkcookiejar/testdata/publicsuffix/public_suffix_list.dafsa (limited to 'tests/auto/network/access') diff --git a/tests/auto/network/access/qnetworkcookiejar/CMakeLists.txt b/tests/auto/network/access/qnetworkcookiejar/CMakeLists.txt index 55f30633ee..2f3b6f2c8d 100644 --- a/tests/auto/network/access/qnetworkcookiejar/CMakeLists.txt +++ b/tests/auto/network/access/qnetworkcookiejar/CMakeLists.txt @@ -5,7 +5,7 @@ ##################################################################### # Collect test data -list(APPEND test_data "parser.json") +list(APPEND test_data "parser.json" "testdata/publicsuffix/public_suffix_list.dafsa") qt_internal_add_test(tst_qnetworkcookiejar SOURCES diff --git a/tests/auto/network/access/qnetworkcookiejar/testdata/publicsuffix/public_suffix_list.dafsa b/tests/auto/network/access/qnetworkcookiejar/testdata/publicsuffix/public_suffix_list.dafsa new file mode 100644 index 0000000000..346a783cc6 Binary files /dev/null and b/tests/auto/network/access/qnetworkcookiejar/testdata/publicsuffix/public_suffix_list.dafsa differ diff --git a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp index 2b50e14e2d..f7f149956c 100644 --- a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp +++ b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp @@ -44,6 +44,8 @@ class tst_QNetworkCookieJar: public QObject Q_OBJECT private slots: + void initTestCase(); + void getterSetter(); void setCookiesFromUrl_data(); void setCookiesFromUrl(); @@ -55,6 +57,8 @@ private slots: #endif void rfc6265_data(); void rfc6265(); +private: + QSharedPointer m_dataDir; }; class MyCookieJar: public QNetworkCookieJar @@ -82,6 +86,22 @@ void tst_QNetworkCookieJar::getterSetter() QCOMPARE(jar.allCookies(), list); } +void tst_QNetworkCookieJar::initTestCase() +{ +#if QT_CONFIG(topleveldomain) && QT_CONFIG(publicsuffix_system) + QString testDataDir; +#ifdef BUILTIN_TESTDATA + m_dataDir = QEXTRACTTESTDATA("/testdata"); + QVERIFY(m_dataDir); + testDataDir = m_dataDir->path() + "/testdata"; +#else + testDataDir = QFINDTESTDATA("testdata"); +#endif + qDebug() << "Test data dir:" << testDataDir; + qputenv("XDG_DATA_DIRS", QFile::encodeName(testDataDir)); +#endif +} + void tst_QNetworkCookieJar::setCookiesFromUrl_data() { QTest::addColumn >("preset"); -- cgit v1.2.3