mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-26 12:39:36 -05:00
gnu: mediastreamer2: Enable tests.
* gnu/packages/linphone.scm (mediastreamer2) [arguments]: Remove tests? argument, enabling tests. [phases]{pre-check}: New phase. {check}: Replace with custom phase. [native-inputs]: Add xorg-server-for-tests. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
146a9403b3
commit
0c6f7d8396
1 changed files with 32 additions and 7 deletions
|
@ -532,8 +532,7 @@ (define-public mediastreamer2
|
|||
(outputs '("out" "doc" "tester"))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
#:configure-flags (list "-DENABLE_STATIC=NO")
|
||||
`(#:configure-flags (list "-DENABLE_STATIC=NO")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-version
|
||||
|
@ -541,6 +540,14 @@ (define-public mediastreamer2
|
|||
(substitute* "CMakeLists.txt"
|
||||
(("VERSION [0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
(string-append "VERSION " ,version)))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Tests require a running X server.
|
||||
(system "Xvfb :1 +extension GLX &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
;; Tests write to $HOME.
|
||||
(setenv "HOME" (getenv "TEMP"))))
|
||||
(delete 'check) ;move after install
|
||||
(add-after 'install 'separate-outputs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -552,19 +559,37 @@ (define-public mediastreamer2
|
|||
(list (string-append tester "/bin")
|
||||
(string-append tester "/share")
|
||||
(string-append doc "/share/doc")))
|
||||
;; Copy the tester executable.
|
||||
;; Move the tester executable.
|
||||
(rename-file (string-append out "/bin/" tester-name)
|
||||
(string-append tester "/bin/" tester-name))
|
||||
;; Copy the tester data files.
|
||||
;; Move the tester data files.
|
||||
(rename-file (string-append out "/share/" tester-name)
|
||||
(string-append tester "/share/" tester-name))
|
||||
;; Copy the HTML documentation.
|
||||
;; Move the HTML documentation.
|
||||
(rename-file (string-append out "/share/doc/" doc-name)
|
||||
(string-append doc "/share/doc/" doc-name))))))))
|
||||
(string-append doc "/share/doc/" doc-name)))))
|
||||
(add-after 'separate-outputs 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((tester (string-append (assoc-ref outputs "tester")
|
||||
"/bin/mediastreamer2_tester")))
|
||||
(for-each (lambda (suite-name)
|
||||
(invoke tester "--suite" suite-name))
|
||||
;; Some tests fail, due to requiring access to the
|
||||
;; sound card or the network.
|
||||
(list "Basic Audio"
|
||||
;; "Sound Card"
|
||||
;; "AdaptiveAlgorithm"
|
||||
;; "AudioStream"
|
||||
;; "VideoStream"
|
||||
"H26x Tools"
|
||||
"Framework"
|
||||
;; "Player"
|
||||
"TextStream"))))))))
|
||||
(native-inputs
|
||||
`(("dot" ,graphviz)
|
||||
("doxygen" ,doxygen)
|
||||
("python" ,python-wrapper)))
|
||||
("python" ,python-wrapper)
|
||||
("xorg-server" ,xorg-server-for-tests)))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("bcg729" ,bcg729)
|
||||
|
|
Loading…
Reference in a new issue