summaryrefslogtreecommitdiff
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)
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")))