]> git.saurik.com Git - apt.git/commitdiff
CMake: Switch integration tests and travis over
authorJulian Andres Klode <jak@debian.org>
Sat, 6 Aug 2016 19:32:36 +0000 (21:32 +0200)
committerJulian Andres Klode <jak@debian.org>
Sat, 6 Aug 2016 20:36:02 +0000 (22:36 +0200)
This early support seems a bit hacky, but it's a hard switch: The
integration tests do not understand the old build system anymore
afterwards. I don't really like that.

.travis.yml
CMakeLists.txt
test/CMakeLists.txt [new file with mode: 0644]
test/integration/framework
test/integration/test-apt-helper-cat-file
test/interactive-helper/CMakeLists.txt [new file with mode: 0644]

index a076d3e4c82ee0e15eb721d4eb2426d0cb1dab9b..755640831f9ad7b90e3a8d0c0af226bb0ab45cf2 100644 (file)
@@ -3,15 +3,21 @@ sudo: required
 dist: trusty
 before_install:
  - sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ wily main universe' -y
 dist: trusty
 before_install:
  - sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ wily main universe' -y
+ - sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ xenial main' -y
  - |
    sudo sh -c '/bin/echo -e "Package: *\nPin: release n=wily\nPin-Priority: 1" > /etc/apt/preferences.d/wily'
  - |
    sudo sh -c '/bin/echo -e "Package: *\nPin: release n=wily\nPin-Priority: 1" > /etc/apt/preferences.d/wily'
+   sudo sh -c '/bin/echo -e "Package: *\nPin: release n=xenial\nPin-Priority: 1" > /etc/apt/preferences.d/xenial'
  - sudo apt-get update -qq
 install:
  - sudo ./prepare-release travis-ci
  - sudo apt-get -qq -y -t wily install gettext liblz4-dev python3-apt
  - sudo apt-get update -qq
 install:
  - sudo ./prepare-release travis-ci
  - sudo apt-get -qq -y -t wily install gettext liblz4-dev python3-apt
- - make
+ - sudo apt-get -qq -y -t xenial install cmake
+before_script:
+ - ( mkdir build && cd build && cmake .. )
+ - make -C build -j4
 script:
 script:
- - make test
  - ./test/integration/run-tests -q
  - sudo adduser --force-badname --system --home /nonexistent --no-create-home --quiet _apt || true
  - sudo ./test/integration/run-tests -q
  - ./test/integration/run-tests -q
  - sudo adduser --force-badname --system --home /nonexistent --no-create-home --quiet _apt || true
  - sudo ./test/integration/run-tests -q
+ - make -C build install DESTDIR=$PWD/rootdir
+ - find rootdir -print0 | xargs -0 ls -ld
index defb4f1112c20b755f99b222786ef4b625c4806a..e01fdbed5c28a84417aedc6d262b4578ba6d308c 100644 (file)
@@ -133,3 +133,4 @@ add_subdirectory(dselect)
 add_subdirectory(ftparchive)
 add_subdirectory(methods)
 add_subdirectory(po)
 add_subdirectory(ftparchive)
 add_subdirectory(methods)
 add_subdirectory(po)
+add_subdirectory(test)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..599f62a
--- /dev/null
@@ -0,0 +1 @@
+add_subdirectory(interactive-helper)
index 7a6b044aa7cdc4f9e45d1583d926a59acc7d7a8d..824bd46b6771ee19618091b079dd9f01d4484614 100644 (file)
@@ -180,7 +180,7 @@ aptconfig() { runapt apt-config "$@"; }
 aptcache() { runapt apt-cache "$@"; }
 aptcdrom() { runapt apt-cdrom "$@"; }
 aptget() { runapt apt-get "$@"; }
 aptcache() { runapt apt-cache "$@"; }
 aptcdrom() { runapt apt-cdrom "$@"; }
 aptget() { runapt apt-get "$@"; }
-aptftparchive() { runapt apt-ftparchive "$@"; }
+aptftparchive() { runapt "${APTFTPARCHIVEBINDIR}/apt-ftparchive" "$@"; }
 aptkey() { runapt apt-key "$@"; }
 aptmark() { runapt apt-mark "$@"; }
 aptsortpkgs() { runapt apt-sortpkgs "$@"; }
 aptkey() { runapt apt-key "$@"; }
 aptmark() { runapt apt-mark "$@"; }
 aptsortpkgs() { runapt apt-sortpkgs "$@"; }
@@ -283,14 +283,15 @@ setupenvironment() {
        TESTDIRECTORY="$(readlink -f "$(dirname $0)")"
         # allow overriding the default BUILDDIR location
        SOURCEDIRECTORY="${APT_INTEGRATION_TESTS_SOURCE_DIR:-"${TESTDIRECTORY}/../../"}"
        TESTDIRECTORY="$(readlink -f "$(dirname $0)")"
         # allow overriding the default BUILDDIR location
        SOURCEDIRECTORY="${APT_INTEGRATION_TESTS_SOURCE_DIR:-"${TESTDIRECTORY}/../../"}"
-       BUILDDIRECTORY="${APT_INTEGRATION_TESTS_BUILD_DIR:-"${TESTDIRECTORY}/../../build/bin"}"
-       LIBRARYPATH="${APT_INTEGRATION_TESTS_LIBRARY_PATH:-"${BUILDDIRECTORY}"}"
-        METHODSDIR="${APT_INTEGRATION_TESTS_METHODS_DIR:-"${BUILDDIRECTORY}/methods"}"
+       BUILDDIRECTORY="${APT_INTEGRATION_TESTS_BUILD_DIR:-"${TESTDIRECTORY}/../../build/cmdline"}"
+       LIBRARYPATH="${APT_INTEGRATION_TESTS_LIBRARY_PATH:-"${BUILDDIRECTORY}/../apt-pkg"}"
+        METHODSDIR="${APT_INTEGRATION_TESTS_METHODS_DIR:-"${BUILDDIRECTORY}/../methods"}"
         APTHELPERBINDIR="${APT_INTEGRATION_TESTS_LIBEXEC_DIR:-"${BUILDDIRECTORY}"}"
         APTHELPERBINDIR="${APT_INTEGRATION_TESTS_LIBEXEC_DIR:-"${BUILDDIRECTORY}"}"
-        APTWEBSERVERBINDIR="${APT_INTEGRATION_TESTS_WEBSERVER_BIN_DIR:-"${BUILDDIRECTORY}"}"
-        APTINTERNALSOLVER="${APT_INTEGRATION_TESTS_INTERNAL_SOLVER:-"${BUILDDIRECTORY}/apt-internal-solver"}"
-       APTDUMPSOLVER="${APT_INTEGRATION_TESTS_DUMP_SOLVER:-"${BUILDDIRECTORY}/apt-dump-solver"}"
-       APTINTERNALPLANNER="${APT_INTEGRATION_TESTS_INTERNAL_PLANNER:-"${BUILDDIRECTORY}/apt-internal-planner"}"
+        APTWEBSERVERBINDIR="${APT_INTEGRATION_TESTS_WEBSERVER_BIN_DIR:-"${BUILDDIRECTORY}/../test/interactive-helper"}"
+        APTFTPARCHIVEBINDIR="${APT_INTEGRATION_TESTS_FTPARCHIVE_BIN_DIR:-"${BUILDDIRECTORY}/../ftparchive"}"
+        APTINTERNALSOLVER="${APT_INTEGRATION_TESTS_INTERNAL_SOLVER:-"${BUILDDIRECTORY}/solvers/apt"}"
+       APTDUMPSOLVER="${APT_INTEGRATION_TESTS_DUMP_SOLVER:-"${BUILDDIRECTORY}/solvers/dump"}"
+       APTINTERNALPLANNER="${APT_INTEGRATION_TESTS_INTERNAL_PLANNER:-"${BUILDDIRECTORY}/planners/apt"}"
        test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first"
         # -----
 
        test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first"
         # -----
 
index 3f509189ec2acc9c9ef9a232cf9257734b1ac3e2..a53a6b4a31f5616a71a8623a280739b8c183557c 100755 (executable)
@@ -5,7 +5,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")"
 . "$TESTDIR/framework"
 setupenvironment
 
 . "$TESTDIR/framework"
 setupenvironment
 
-TESTTOOL="${BUILDDIRECTORY}/test_fileutl"
+TESTTOOL="${BUILDDIRECTORY}/../test/interactive-helper/test_fileutl"
 msgtest 'Check if we have build the test tool' "$TESTTOOL"
 if [ -x "$TESTTOOL" ]; then
        msgpass
 msgtest 'Check if we have build the test tool' "$TESTTOOL"
 if [ -x "$TESTTOOL" ]; then
        msgpass
diff --git a/test/interactive-helper/CMakeLists.txt b/test/interactive-helper/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fc08d6a
--- /dev/null
@@ -0,0 +1,10 @@
+add_executable(mthdcat mthdcat.cc)
+target_link_libraries(mthdcat apt-pkg)
+add_executable(testdeb testdeb.cc)
+target_link_libraries(testdeb apt-pkg apt-inst)
+add_executable(extract-control extract-control.cc)
+target_link_libraries(extract-control apt-pkg apt-inst)
+add_executable(aptwebserver aptwebserver.cc)
+target_link_libraries(aptwebserver apt-pkg  ${CMAKE_THREAD_LIBS_INIT})
+add_executable(test_fileutl test_fileutl.cc)
+target_link_libraries(test_fileutl apt-pkg)