[PATCH] gnu: skia: Honor tests? argument

  • Done
  • quality assurance status badge
Details
2 participants
  • Dariqq
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Dariqq
Severity
normal
D
D
Dariqq wrote 3 days ago
(address . guix-patches@gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
f6768a58cc75a6ab046f679b24d2ec8cffafa925.1727727704.git.dariqq@posteo.net
* gnu/packages/graphics.scm (skia):
[#:phases]: Allow skipping of 'check phase.

Change-Id: I529d91cf9cedfe36fa14a2ae514589810054eac8
---
The tests are failing on i686-linux. This makes it possible to use --without-tests to easily skip them.

gnu/packages/graphics.scm | 262 +++++++++++++++++++-------------------
1 file changed, 132 insertions(+), 130 deletions(-)

Toggle diff (277 lines)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7ed5cdc92d..f5e0ca7352 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2223,136 +2223,138 @@ (define-public skia
Libs: -L${libdir} -lskia
Cflags: -I${includedir}~%" #$output #$version)))))
(replace 'check
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (let ((icu #$(this-package-native-input "icu4c-for-skia")))
- ;; Unbundle SPIRV-Tools dependency.
- (substitute* "BUILD.gn"
- (("deps \\+= \\[ \"//third_party/externals/spirv-tools:spvtools_val\" \\]")
- "libs += [ \"SPIRV-Tools\" ]"))
- (substitute* "src/sksl/SkSLCompiler.cpp"
- (("\"spirv-tools/libspirv.hpp\"")
- "<libspirv.hpp>"))
- ;; Configure ICU dependency.
- (substitute* "third_party/icu/BUILD.gn"
- (("data_dir = \"\\.\\./externals/icu/\"")
- (string-append "data_dir = \"" icu "/share/data/\""))
- (("script = \"\\.\\./externals/icu/scripts/")
- (string-append "script = \"" icu "/share/scripts/"))
- (("\\.\\./externals/icu/common/icudtl\\.dat")
- (string-append icu "/share/data/icudtl.dat"))
- (("sources = icu_sources")
- "")
- (("sources \\+= \\[ \"\\$data_assembly\" \\]")
- "sources = [ \"$data_assembly\" ]"))
- ;; Enable system libraries without is_official_build=true.
- ;; This is necessary because is_official_build prevents from
- ;; building dm.
- (for-each
- (lambda (libname)
- (let ((snake (string-join (string-split libname #\-) "_")))
- (substitute*
- (string-append "third_party/" libname "/BUILD.gn")
- (((string-append "skia_use_system_"
- snake
- " = is_official_build.*"))
- (string-append "skia_use_system_" snake " = true")))))
- '("zlib" "libjpeg-turbo" "harfbuzz" "libpng" "libwebp"))
- ;; Configure with gn.
- (invoke "gn" "gen" "out/Debug"
- (string-append
- "--args="
- "cc=\"gcc\" " ;defaults to 'cc'
- "skia_compile_sksl_tests=false " ; disable some tests
- "skia_use_perfetto=false " ; disable performance tests
- "skia_use_wuffs=false " ; missing performance tool
- "skia_use_system_expat=true " ; use system expat library
- "skia_use_system_zlib=true " ; use system zlib library
- ;; Specify where to locate the includes.
- "extra_cflags=["
- (string-join
- (map
- (lambda (lib)
- (string-append
- "\"-I"
- (search-input-directory
- inputs
- (string-append "include/" lib)) "\""))
- '("harfbuzz"
- "freetype2"
- "spirv-tools"
- "spirv"
- "unicode"))
- ",")
- "] "
- ;; Otherwise the validate-runpath phase fails.
- "extra_ldflags=["
- "\"-Wl,-rpath=" #$output "/lib\""
- "] "
- ;; Disabled, otherwise the build system attempts to
- ;; download the SDK at build time.
- "skia_use_dng_sdk=false "
- "skia_use_runtime_icu=true "))
- ;; Build dm testing tool.
- (symlink
- (string-append #$(this-package-native-input "gn") "/bin/gn")
- "./bin/gn")
- (invoke "ninja" "-C" "out/Debug" "dm")
- ;; The test suite requires an X server.
- (let ((xvfb (search-input-file (or native-inputs inputs)
- "bin/Xvfb"))
- (display ":1"))
- (setenv "DISPLAY" display)
- (system (string-append xvfb " " display " &")))
- ;; Run tests.
- (invoke "out/Debug/dm" "-v"
- "-w" "dm_output"
- "--codecWritePath" "dm_output"
- "--simpleCodec"
- "--skip"
- ;; The underscores are part of the dm syntax for
- ;; skipping tests.
- ;; These tests fail with segmentation fault.
- "_" "_" "_" "Codec_trunc"
- "_" "_" "_" "AnimCodecPlayer"
- "_" "_" "_" "Codec_partialAnim"
- "_" "_" "_" "Codec_InvalidImages"
- "_" "_" "_" "Codec_GifInterlacedTruncated"
- ;; This test started failing possibly after mesa
- ;; being updated to 23.2.1 and possibly only on some
- ;; hardware.
- "_" "_" "_" "SkRuntimeBlender_GPU"
- "_" "_" "_" "SkText_UnicodeText_Flags"
- "_" "_" "_" "SkParagraph_FontStyle"
- "_" "_" "_" "flight_animated_image"
- ;; These tests fail because of Codec/Sk failure.
- "_" "_" "_" "AndroidCodec_computeSampleSize"
- "_" "_" "_" "AnimatedImage_invalidCrop"
- "_" "_" "_" "AnimatedImage_scaled"
- "_" "_" "_" "AnimatedImage_copyOnWrite"
- "_" "_" "_" "AnimatedImage"
- "_" "_" "_" "BRD_types"
- "_" "_" "_" "Codec_frames"
- "_" "_" "_" "Codec_partial"
- "_" "_" "_" "Codec_partialWuffs"
- "_" "_" "_" "Codec_requiredFrame"
- "_" "_" "_" "Codec_rewind"
- "_" "_" "_" "Codec_incomplete"
- "_" "_" "_" "Codec_InvalidAnimated"
- "_" "_" "_" "Codec_ossfuzz6274"
- "_" "_" "_" "Codec_gif_out_of_palette"
- "_" "_" "_" "Codec_xOffsetTooBig"
- "_" "_" "_" "Codec_gif"
- "_" "_" "_" "Codec_skipFullParse"
- "_" "_" "_" "AndroidCodec_animated_gif"
- ;; These fail for unknown reasons.
- "_" "_" "_" "Gif"
- "_" "_" "_" "Wuffs_seek_and_decode"
- "_" "_" "_" "Skottie_Shaper_ExplicitFontMgr"
- "8888" "skp" "_" "_"
- "8888" "lottie" "_" "_"
- "gl" "skp" "_" "_"
- "gl" "lottie" "_" "_"
- "_" "_" "_" "ES2BlendWithNoTexture")))))))
+ (lambda* (#:key tests? inputs native-inputs #:allow-other-keys)
+ (if tests?
+ (let ((icu #$(this-package-native-input "icu4c-for-skia")))
+ ;; Unbundle SPIRV-Tools dependency.
+ (substitute* "BUILD.gn"
+ (("deps \\+= \\[ \"//third_party/externals/spirv-tools:spvtools_val\" \\]")
+ "libs += [ \"SPIRV-Tools\" ]"))
+ (substitute* "src/sksl/SkSLCompiler.cpp"
+ (("\"spirv-tools/libspirv.hpp\"")
+ "<libspirv.hpp>"))
+ ;; Configure ICU dependency.
+ (substitute* "third_party/icu/BUILD.gn"
+ (("data_dir = \"\\.\\./externals/icu/\"")
+ (string-append "data_dir = \"" icu "/share/data/\""))
+ (("script = \"\\.\\./externals/icu/scripts/")
+ (string-append "script = \"" icu "/share/scripts/"))
+ (("\\.\\./externals/icu/common/icudtl\\.dat")
+ (string-append icu "/share/data/icudtl.dat"))
+ (("sources = icu_sources")
+ "")
+ (("sources \\+= \\[ \"\\$data_assembly\" \\]")
+ "sources = [ \"$data_assembly\" ]"))
+ ;; Enable system libraries without is_official_build=true.
+ ;; This is necessary because is_official_build prevents from
+ ;; building dm.
+ (for-each
+ (lambda (libname)
+ (let ((snake (string-join (string-split libname #\-) "_")))
+ (substitute*
+ (string-append "third_party/" libname "/BUILD.gn")
+ (((string-append "skia_use_system_"
+ snake
+ " = is_official_build.*"))
+ (string-append "skia_use_system_" snake " = true")))))
+ '("zlib" "libjpeg-turbo" "harfbuzz" "libpng" "libwebp"))
+ ;; Configure with gn.
+ (invoke "gn" "gen" "out/Debug"
+ (string-append
+ "--args="
+ "cc=\"gcc\" " ;defaults to 'cc'
+ "skia_compile_sksl_tests=false " ; disable some tests
+ "skia_use_perfetto=false " ; disable performance tests
+ "skia_use_wuffs=false " ; missing performance tool
+ "skia_use_system_expat=true " ; use system expat library
+ "skia_use_system_zlib=true " ; use system zlib library
+ ;; Specify where to locate the includes.
+ "extra_cflags=["
+ (string-join
+ (map
+ (lambda (lib)
+ (string-append
+ "\"-I"
+ (search-input-directory
+ inputs
+ (string-append "include/" lib)) "\""))
+ '("harfbuzz"
+ "freetype2"
+ "spirv-tools"
+ "spirv"
+ "unicode"))
+ ",")
+ "] "
+ ;; Otherwise the validate-runpath phase fails.
+ "extra_ldflags=["
+ "\"-Wl,-rpath=" #$output "/lib\""
+ "] "
+ ;; Disabled, otherwise the build system attempts to
+ ;; download the SDK at build time.
+ "skia_use_dng_sdk=false "
+ "skia_use_runtime_icu=true "))
+ ;; Build dm testing tool.
+ (symlink
+ (string-append #$(this-package-native-input "gn") "/bin/gn")
+ "./bin/gn")
+ (invoke "ninja" "-C" "out/Debug" "dm")
+ ;; The test suite requires an X server.
+ (let ((xvfb (search-input-file (or native-inputs inputs)
+ "bin/Xvfb"))
+ (display ":1"))
+ (setenv "DISPLAY" display)
+ (system (string-append xvfb " " display " &")))
+ ;; Run tests.
+ (invoke "out/Debug/dm" "-v"
+ "-w" "dm_output"
+ "--codecWritePath" "dm_output"
+ "--simpleCodec"
+ "--skip"
+ ;; The underscores are part of the dm syntax for
+ ;; skipping tests.
+ ;; These tests fail with segmentation fault.
+ "_" "_" "_" "Codec_trunc"
+ "_" "_" "_" "AnimCodecPlayer"
+ "_" "_" "_" "Codec_partialAnim"
+ "_" "_" "_" "Codec_InvalidImages"
+ "_" "_" "_" "Codec_GifInterlacedTruncated"
+ ;; This test started failing possibly after mesa
+ ;; being updated to 23.2.1 and possibly only on some
+ ;; hardware.
+ "_" "_" "_" "SkRuntimeBlender_GPU"
+ "_" "_" "_" "SkText_UnicodeText_Flags"
+ "_" "_" "_" "SkParagraph_FontStyle"
+ "_" "_" "_" "flight_animated_image"
+ ;; These tests fail because of Codec/Sk failure.
+ "_" "_" "_" "AndroidCodec_computeSampleSize"
+ "_" "_" "_" "AnimatedImage_invalidCrop"
+ "_" "_" "_" "AnimatedImage_scaled"
+ "_" "_" "_" "AnimatedImage_copyOnWrite"
+ "_" "_" "_" "AnimatedImage"
+ "_" "_" "_" "BRD_types"
+ "_" "_" "_" "Codec_frames"
+ "_" "_" "_" "Codec_partial"
+ "_" "_" "_" "Codec_partialWuffs"
+ "_" "_" "_" "Codec_requiredFrame"
+ "_" "_" "_" "Codec_rewind"
+ "_" "_" "_" "Codec_incomplete"
+ "_" "_" "_" "Codec_InvalidAnimated"
+ "_" "_" "_" "Codec_ossfuzz6274"
+ "_" "_" "_" "Codec_gif_out_of_palette"
+ "_" "_" "_" "Codec_xOffsetTooBig"
+ "_" "_" "_" "Codec_gif"
+ "_" "_" "_" "Codec_skipFullParse"
+ "_" "_" "_" "AndroidCodec_animated_gif"
+ ;; These fail for unknown reasons.
+ "_" "_" "_" "Gif"
+ "_" "_" "_" "Wuffs_seek_and_decode"
+ "_" "_" "_" "Skottie_Shaper_ExplicitFontMgr"
+ "8888" "skp" "_" "_"
+ "8888" "lottie" "_" "_"
+ "gl" "skp" "_" "_"
+ "gl" "lottie" "_" "_"
+ "_" "_" "_" "ES2BlendWithNoTexture"))
+ (format #t "test suite not run~%")))))))
(native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper
spirv-tools spirv-headers
icu4c-for-skia glu xorg-server-for-tests))

base-commit: 7e63a35ff265f5cb6efa8bbe0bbf62bb9c102cf0
--
2.46.0
T
T
Tobias Geerinckx-Rice wrote 3 days ago
(name . Dariqq)(address . dariqq@posteo.net)(address . 73573-done@debbugs.gnu.org)
5ca7343b6690c4807487a16897a51552@tobias.gr
Hi Dariqq,

On 2024-09-30 22:21, Dariqq wrote:
Toggle quote (3 lines)
> * gnu/packages/graphics.scm (skia):
> [#:phases]: Allow skipping of 'check phase.

Changed to:

* gnu/packages/graphics.scm (skia)[arguments]: Blah.

Toggle quote (2 lines)
> + (format #t "test suite not run~%")))))))

I wouldn't have printed this myself, but I know you're just following
Guix's default behaviour.

Pushed as 2bd04883ed644fb2b8a3c33d03574cdd810043f4. Thanks!

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73573@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73573
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch