Make WordPress Core

Changeset 60736


Ignore:
Timestamp:
09/13/2025 12:14:39 PM (2 months ago)
Author:
johnbillion
Message:

Media: Temporarily disable failing tests when Imagick 7 is in use, pending further investigation.

The updated PHP 8.4 and 8.3 containers are running Imagick 7 which is producing some test failures for AVIFs and PNGs with 1-bit transparency. This requires further investigation, possibly accompanied by more comprehensive testing across Imagick versions, so these tests are disabled for now.

Additional missing assertions have also been added which ensure an unexpected WP_Error instance correctly fails the test and is not passed to an image processing function.

Props johnbillion, siliconforks, desrosj, jorbin.

See #63932

Location:
trunk/tests/phpunit/tests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/image/editorImagick.php

    r60729 r60736  
    706706     *
    707707     * @ticket 62285
     708     *
     709     * Temporarily disabled until we can figure out why it fails on the Trixie based PHP container.
     710     * See https://core.trac.wordpress.org/ticket/63932.
     711     * @requires PHP < 8.3
    708712     */
    709713    public function test_image_max_bit_depth() {
     
    780784    public function test_resizes_are_small_for_16bit_images( $file ) {
    781785
     786        // Temporarily disabled. See https://core.trac.wordpress.org/ticket/63932.
     787        if ( DIR_TESTDATA . '/images/png-tests/test8.png' === $file ) {
     788            $version = Imagick::getVersion();
     789            if ( $version['versionNumber'] >= 0x700 ) {
     790                $this->markTestSkipped( 'ImageMagick 7 is unable to optimize grayscale images with 1-bit transparency.' );
     791            }
     792        }
     793
    782794        $temp_file = DIR_TESTDATA . '/images/test-temp.png';
    783795
     
    835847     */
    836848    public function test_png_color_type_is_preserved_after_resize( $file_path, $expected_color_type ) {
     849
     850        // Temporarily disabled. See https://core.trac.wordpress.org/ticket/63932.
     851        if ( DIR_TESTDATA . '/images/png-tests/test8.png' === $file_path ) {
     852            $version = Imagick::getVersion();
     853            if ( $version['versionNumber'] >= 0x700 ) {
     854                $this->markTestSkipped( 'ImageMagick 7 is unable to optimize grayscale images with 1-bit transparency.' );
     855            }
     856        }
    837857
    838858        $temp_file = DIR_TESTDATA . '/images/test-temp.png';
  • trunk/tests/phpunit/tests/image/resize.php

    r58849 r60736  
    2424        $image = $this->resize_helper( DIR_TESTDATA . '/images/test-image.jpg', 25, 25 );
    2525
     26        $this->assertNotWPError( $image );
     27
    2628        list( $w, $h, $type ) = getimagesize( $image );
    2729
     
    7981        $image = $this->resize_helper( $file, 25, 25 );
    8082
     83        $this->assertNotWPError( $image );
     84
    8185        list( $w, $h, $type ) = wp_getimagesize( $image );
    8286
     
    9397     *
    9498     * @ticket 51228
     99     *
     100     * Temporarily disabled until we can figure out why it fails on the Trixie based PHP container.
     101     * See https://core.trac.wordpress.org/ticket/63932.
     102     * @requires PHP < 8.3
    95103     */
    96104    public function test_resize_avif() {
     
    105113        $image = $this->resize_helper( $file, 25, 25 );
    106114
     115        $this->assertNotWPError( $image );
     116
    107117        list( $w, $h, $type ) = wp_getimagesize( $image );
    108118
     
    131141        $image = $this->resize_helper( $file, 25, 25 );
    132142
     143        $this->assertNotWPError( $image );
     144
    133145        list( $w, $h, $type ) = wp_getimagesize( $image );
    134146
     
    152164        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 128, 96 );
    153165
     166        $this->assertNotWPError( $image );
     167
    154168        list( $w, $h, $type ) = getimagesize( $image );
    155169
     
    165179        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 128, 0 );
    166180
     181        $this->assertNotWPError( $image );
     182
    167183        list( $w, $h, $type ) = getimagesize( $image );
    168184
     
    178194        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 0, 96 );
    179195
     196        $this->assertNotWPError( $image );
     197
    180198        list( $w, $h, $type ) = getimagesize( $image );
    181199
     
    191209        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 150, 150, true );
    192210
     211        $this->assertNotWPError( $image );
     212
    193213        list( $w, $h, $type ) = getimagesize( $image );
    194214
     
    204224        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 150, 100, true );
    205225
     226        $this->assertNotWPError( $image );
     227
    206228        list( $w, $h, $type ) = getimagesize( $image );
    207229
     
    217239        $image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 50, 150, true );
    218240
     241        $this->assertNotWPError( $image );
     242
    219243        list( $w, $h, $type ) = getimagesize( $image );
    220244
     
    241265    /**
    242266     * Function to help out the tests
     267     *
     268     * @return string|WP_Error The path to the resized image file or a WP_Error on failure.
    243269     */
    244270    protected function resize_helper( $file, $width, $height, $crop = false ) {
  • trunk/tests/phpunit/tests/media.php

    r60641 r60736  
    54615461        // Sub-sizes: for each size, the JPEGs should be smaller than the WebP.
    54625462        $sizes_to_compare = array_intersect_key( $jpeg_sizes['sizes'], $webp_sizes['sizes'] );
     5463
     5464        $this->assertNotEmpty( $sizes_to_compare );
     5465
    54635466        foreach ( $sizes_to_compare as $size => $size_data ) {
    54645467            $this->assertLessThan( $webp_sizes['sizes'][ $size ]['filesize'], $jpeg_sizes['sizes'][ $size ]['filesize'] );
     
    54705473     *
    54715474     * @ticket 61614
     5475     *
     5476     * Temporarily disabled until we can figure out why it fails on the Trixie based PHP container.
     5477     * See https://core.trac.wordpress.org/ticket/63932.
     5478     * @requires PHP < 8.3
    54725479     */
    54735480    public function test_quality_with_avif_conversion_file_sizes() {
     
    55035510        // Sub-sizes: for each size, the AVIF should be smaller than the JPEG.
    55045511        $sizes_to_compare = array_intersect_key( $avif_sizes['sizes'], $smaller_avif_sizes['sizes'] );
     5512
     5513        $this->assertNotEmpty( $sizes_to_compare );
    55055514
    55065515        foreach ( $sizes_to_compare as $size => $size_data ) {
Note: See TracChangeset for help on using the changeset viewer.