summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-11-03 23:56:01 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-11-04 00:11:09 +0200
commit19c38b2acc99644c4104c8526d2586b3ee67f5a7 (patch)
tree0208023c944c524cf30e25e9eeff02925b8d5c46 /gnu
parentb93e06a96418b7caba109cae327c3d226a33d782 (diff)
downloadguix-19c38b2acc99644c4104c8526d2586b3ee67f5a7.tar.gz
gnu: flightgear: Prepare to run test suite.
* gnu/packages/games.scm (flightgear)[arguments]: Add phase to build
test binary. Add phase to skip some failing tests. Move 'check phase to
after 'install-data.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/games.scm18
1 files changed, 16 insertions, 2 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7bab31f9be..eb3db37c46 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -9331,11 +9331,25 @@ and also provides the base for the FlightGear Flight Simulator.")
              (string-append "-DFG_DATA_DIR="
                             (assoc-ref %outputs "out")
                             "/share/flightgear"))
-       ;; TODO: test cannot be run because the "run_test_suite" executable
-       ;; does not seem to be built.
+       ;; TODO: test suite segfaults.
        #:tests? #f
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'skip-some-tests
+           (lambda _
+             (substitute* "test_suite/unit_tests/Instrumentation/test_gps.hxx"
+               (("CPPUNIT_TEST\\(testLongLegWestbound\\);" all)
+                (string-append "// " all))
+               (("CPPUNIT_TEST\\(testFinalLegCourse\\);" all)
+                (string-append "// " all)))))
+         (add-after 'build 'build-test-suite
+           (lambda* args
+             ((assoc-ref %standard-phases 'build)
+              #:make-flags (list "fgfs_test_suite"))))
+         ;; Test suite needs access to FGData so run it after 'install.
+         (delete 'check)
+         (add-after 'install-data 'check
+           (assoc-ref %standard-phases 'check))
          (add-after 'install 'install-data
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((share (string-append (assoc-ref outputs "out") "/share/flightgear")))