mirror of
https://github.com/znc/znc.git
synced 2026-08-11 19:32:46 +02:00
Switch integration test to qt6 (#1916)
Keep using Qt5 for Cygwin and CodeQL * CI: upgrade ubuntu
This commit is contained in:
+2
-2
@@ -18,7 +18,7 @@ install:
|
||||
build_script:
|
||||
- git submodule update --init
|
||||
- mkdir build
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; ../configure --enable-charset --enable-zlib --enable-openssl --enable-perl --enable-python --enable-cyrus --enable-argon < /dev/null; result=$?; cmake --system-information > config.log; appveyor PushArtifact config.log; exit $result"
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; env ZNC_QT_VER=5 ../configure --enable-charset --enable-zlib --enable-openssl --enable-perl --enable-python --enable-cyrus --enable-argon < /dev/null; result=$?; cmake --system-information > config.log; appveyor PushArtifact config.log; exit $result"
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 -j2 < /dev/null"
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make install < /dev/null"
|
||||
- c:\cygwin-root\bin\sh -lc "znc --version"
|
||||
@@ -27,4 +27,4 @@ build_script:
|
||||
- c:\cygwin-root\bin\sh -lc "rebase -s -v $(cat /tmp/files-to-rebase)"
|
||||
test_script:
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 unittest < /dev/null"
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 inttest < /dev/null"
|
||||
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; env ZNC_QT_VER=5 make VERBOSE=1 inttest < /dev/null"
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ ls -la
|
||||
cpanm --local-lib=~/perl5 local::lib
|
||||
eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
|
||||
cpanm --notest Devel::Cover::Report::Clover
|
||||
pip3 install --user coverage
|
||||
pip3 install --user --break-system-packages coverage
|
||||
export ZNC_MODPERL_COVERAGE=1
|
||||
#export ZNC_MODPYTHON_COVERAGE=1
|
||||
|
||||
@@ -39,7 +39,7 @@ ls -lRa
|
||||
|
||||
case "${CC:-gcc}" in
|
||||
gcc)
|
||||
lcov --directory . --capture --output-file lcov-coverage.txt
|
||||
lcov --directory . --capture --output-file lcov-coverage.txt --ignore-errors mismatch
|
||||
lcov --list lcov-coverage.txt
|
||||
;;
|
||||
clang)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y tcl-dev libsasl2-dev libicu-dev swig qtbase5-dev libboost-locale-dev libperl-dev libargon2-dev cpanminus gettext clang llvm lcov
|
||||
sudo apt-get install -y tcl-dev libsasl2-dev libicu-dev swig qt6-base-dev libboost-locale-dev libperl-dev libargon2-dev cpanminus gettext clang llvm lcov
|
||||
sudo apt-get upgrade -y
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
jobs:
|
||||
gcc:
|
||||
name: GCC
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
|
||||
tarball:
|
||||
name: Tarball
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
# can be removed when asan below is fixed
|
||||
clang:
|
||||
name: Clang
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
CXX: clang++
|
||||
CC: clang
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
|
||||
#clang_asan:
|
||||
#name: Clang ASAN
|
||||
#runs-on: ubuntu-20.04
|
||||
#runs-on: ubuntu-24.04
|
||||
#env:
|
||||
#CXX: clang++
|
||||
#CC: clang
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
|
||||
#clang_tsan:
|
||||
#name: Clang TSAN
|
||||
#runs-on: ubuntu-20.04
|
||||
#runs-on: ubuntu-24.04
|
||||
#env:
|
||||
#CXX: clang++
|
||||
#CC: clang
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
submodules: true
|
||||
- run: |
|
||||
brew update
|
||||
brew install icu4c qt5 gettext pkg-config cpanminus boost
|
||||
brew install icu4c qt6 gettext pkg-config cpanminus boost argon2 swig
|
||||
- run: source .github/build.sh
|
||||
- uses: codecov/codecov-action@v3
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 'master', '1.6.x' ]
|
||||
branches: [ 'master', '1.9.x' ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ 'master' ]
|
||||
@@ -12,7 +12,7 @@ on:
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
@@ -28,7 +28,10 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- run: source .github/ubuntu_deps.sh
|
||||
- run: |
|
||||
source .github/ubuntu_deps.sh
|
||||
sudo apt-get remove -y qt6-base-dev
|
||||
sudo apt-get install -y qtbase5-dev
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
@@ -36,6 +39,8 @@ jobs:
|
||||
languages: ${{ matrix.language }}
|
||||
|
||||
- run: source .github/build.sh
|
||||
env:
|
||||
ZNC_QT_VER: "5"
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
||||
@@ -54,12 +54,17 @@ if(brew_python_f EQUAL 0)
|
||||
"${brew_python}/Frameworks/Python.framework")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND "${brew}" --prefix qt5
|
||||
RESULT_VARIABLE brew_qt5_f
|
||||
OUTPUT_VARIABLE brew_qt5 OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
if(brew_qt5_f EQUAL 0)
|
||||
find_package_message(brew_qt5 "Qt5 via Homebrew: ${brew_qt5}"
|
||||
"${brew_qt5}")
|
||||
if(DEFINED ENV{ZNC_QT_VER})
|
||||
set(ZNC_QT_VER $ENV{ZNC_QT_VER})
|
||||
else()
|
||||
set(ZNC_QT_VER 6)
|
||||
endif()
|
||||
execute_process(COMMAND "${brew}" --prefix qt${ZNC_QT_VER}
|
||||
RESULT_VARIABLE brew_qt_f
|
||||
OUTPUT_VARIABLE brew_qt OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
if(brew_qt_f EQUAL 0)
|
||||
find_package_message(brew_qt "Qt via Homebrew: ${brew_qt}"
|
||||
"${brew_qt}")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND "${brew}" --prefix gettext
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ externalproject_add(inttest_bin
|
||||
"-DGTEST_ROOT:path=${GTEST_ROOT}"
|
||||
"-DGMOCK_ROOT:path=${GMOCK_ROOT}"
|
||||
"-DZNC_BIN_DIR:path=${CMAKE_INSTALL_FULL_BINDIR}"
|
||||
"-DQt5_HINTS:path=${brew_qt5}")
|
||||
"-DQt_HINTS:path=${brew_qt}")
|
||||
add_custom_target(inttest COMMAND
|
||||
# MAKEFLAGS:
|
||||
# Prevent a warning from test of znc-buildmod, when inner make
|
||||
|
||||
@@ -24,7 +24,13 @@ set(CMAKE_THREAD_PREFER_PTHREAD true)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG true)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
find_package(Qt5Network 5.4 REQUIRED HINTS ${Qt5_HINTS})
|
||||
if(DEFINED ENV{ZNC_QT_VER})
|
||||
set(ZNC_QT_VER $ENV{ZNC_QT_VER})
|
||||
else()
|
||||
set(ZNC_QT_VER 6)
|
||||
endif()
|
||||
|
||||
find_package(Qt${ZNC_QT_VER}Network 5.4 REQUIRED HINTS ${Qt_HINTS})
|
||||
|
||||
# Force the simple internal regex engine to get consistent behavior on all
|
||||
# platforms. See
|
||||
@@ -42,7 +48,7 @@ add_executable(inttest
|
||||
"${GTEST_ROOT}/src/gtest-all.cc"
|
||||
"${GMOCK_ROOT}/src/gmock-all.cc")
|
||||
|
||||
target_link_libraries(inttest Qt5::Network Threads::Threads)
|
||||
target_link_libraries(inttest Qt${ZNC_QT_VER}::Network Threads::Threads)
|
||||
target_include_directories(inttest PUBLIC
|
||||
"${PROJECT_SOURCE_DIR}/framework"
|
||||
"${PROJECT_BINARY_DIR}"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <QRegularExpression>
|
||||
#include "znctest.h"
|
||||
|
||||
#ifndef ZNC_BIN_DIR
|
||||
@@ -119,6 +120,12 @@ std::unique_ptr<QNetworkReply> ZNCTest::HandleHttp(QNetworkReply* reply) {
|
||||
std::cout << "Got HTTP reply" << std::endl;
|
||||
loop.quit();
|
||||
});
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
||||
QObject::connect(reply, &QNetworkReply::errorOccurred,
|
||||
[&](QNetworkReply::NetworkError e) {
|
||||
ADD_FAILURE() << reply->errorString().toStdString();
|
||||
});
|
||||
#else
|
||||
QObject::connect(
|
||||
reply,
|
||||
static_cast<void (QNetworkReply::*)(QNetworkReply::NetworkError)>(
|
||||
@@ -126,6 +133,7 @@ std::unique_ptr<QNetworkReply> ZNCTest::HandleHttp(QNetworkReply* reply) {
|
||||
[&](QNetworkReply::NetworkError e) {
|
||||
ADD_FAILURE() << reply->errorString().toStdString();
|
||||
});
|
||||
#endif
|
||||
QTimer::singleShot(30000 /* msec */, &loop, [&]() {
|
||||
ADD_FAILURE() << "connection timeout";
|
||||
loop.quit();
|
||||
@@ -160,7 +168,7 @@ void ZNCTest::InstallModule(QString name, QString content) {
|
||||
QStringList lines = content.split("\n");
|
||||
int maxoffset = -1;
|
||||
for (const QString& line : lines) {
|
||||
int nonspace = line.indexOf(QRegExp("\\S"));
|
||||
int nonspace = line.indexOf(QRegularExpression("\\S"));
|
||||
if (nonspace == -1) continue;
|
||||
if (nonspace < maxoffset || maxoffset == -1) maxoffset = nonspace;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user