Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#95: Improve CI rendering tests #96

Merged
merged 48 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
dc5a9b8
#32: move googletest dependency sources to lib & rupdate script to fe…
tlamonthezie Jul 9, 2024
51ca230
#32: make unique build script working either in CI or locally
tlamonthezie Jul 17, 2024
ebbc071
#95: WIP add tests using the VTK vtkPolyDataReader for generated meshes
tlamonthezie Jul 29, 2024
83d796f
#95: WIP add printing for some values from VTK in test
tlamonthezie Jul 29, 2024
b0480ed
#95: improve granular vtk mesh tests
tlamonthezie Jul 29, 2024
0604fa2
#95: remove unnecessary assert
tlamonthezie Jul 29, 2024
920ab56
#95: WIP option to set object jitter dimensions in Render class with …
tlamonthezie Jul 30, 2024
045c546
#95: fix some compile issues
tlamonthezie Jul 30, 2024
215c77a
#95: WIP testing images add file support to load ans save jitter dim…
tlamonthezie Jul 30, 2024
41bac36
#95: WIP fix problemns in render test
tlamonthezie Jul 30, 2024
50d817b
#95: fix invalid output path in a test
tlamonthezie Jul 30, 2024
36105cf
#95: fix missing output jitter file
tlamonthezie Jul 30, 2024
2b6a81a
#95: fix a path
tlamonthezie Jul 30, 2024
f60c6fc
#95: fix test logic
tlamonthezie Jul 30, 2024
381f143
#95: update workflow for tests
tlamonthezie Jul 31, 2024
2b2924e
#95: add csv artifacts to ci
tlamonthezie Jul 31, 2024
99bcd77
#95: update expected image set and add jitter dims
tlamonthezie Jul 31, 2024
96bcf51
#95: move data folder to top level
tlamonthezie Jul 31, 2024
77fc4da
#95: update new path to data files in source and config files
tlamonthezie Jul 31, 2024
6a87d70
#95: fix build warning
tlamonthezie Jul 31, 2024
1a9bd51
#95: update expected ccm_example output
tlamonthezie Jul 31, 2024
390c3e2
#95: fix invalid default value in dockerfile arg
tlamonthezie Jul 31, 2024
7ca17b2
#95: update dockerfile default args
tlamonthezie Jul 31, 2024
9790891
#95: add readme in ci docker directory
tlamonthezie Jul 31, 2024
ccd8ee5
#95: restore raw diff tests for vtp files
tlamonthezie Jul 31, 2024
4eeb038
#95: remove trailing whitespace
tlamonthezie Aug 26, 2024
2db60c7
#95: restore missing build script for ci
tlamonthezie Aug 26, 2024
0b573ac
#95: fix build and test badge url in README
tlamonthezie Aug 26, 2024
f93355a
#95: test reduceimage diff tolerance in unit test
tlamonthezie Aug 27, 2024
f68869c
#95: fix object qoi in test config file
tlamonthezie Aug 27, 2024
21b75e8
#95: add test assertions and output in test_render
tlamonthezie Aug 27, 2024
a1f265b
#95: remove trailing whitespace
tlamonthezie Aug 27, 2024
9ffb3ea
#95: fix output error
tlamonthezie Aug 27, 2024
539281e
#95: update ouput in a test
tlamonthezie Aug 27, 2024
191407c
#95: upgrade image test tolerance value
tlamonthezie Aug 27, 2024
e265208
#95: add option to build script to run tests using xvbf
tlamonthezie Aug 27, 2024
dd891fa
#95: refactor xvfb usage for ci script
tlamonthezie Aug 27, 2024
4342f65
#95: fix printing error
tlamonthezie Aug 27, 2024
f134d6b
#95: fix expected vtp content for ccm example
tlamonthezie Aug 27, 2024
bf6b38a
#95: fix fetch google test script type
tlamonthezie Aug 27, 2024
308359a
#95: refresh googletest install to remove unnecessary files
tlamonthezie Aug 27, 2024
f2a7e72
#95: fix variable name casing for consistency
tlamonthezie Aug 27, 2024
5c18b10
#95: changes for pr
tlamonthezie Aug 27, 2024
27fc6c2
#95: remove non working output to ci
tlamonthezie Aug 27, 2024
09efa62
#95: try using object jitter zero values to break randomness in rende…
tlamonthezie Aug 27, 2024
08e9a21
#95: set small tolerance for png test as it should be zero in CI
tlamonthezie Aug 27, 2024
0acef5d
#95: add missing newline
tlamonthezie Aug 29, 2024
b80c877
#95: fix typo
tlamonthezie Aug 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,16 +76,6 @@ jobs:
reporter: java-junit
output-to: step-summary

- name: CCM Example output to summary
if: ${{ (success() || failure()) && env.VT_TV_TESTS_ENABLED == 'ON' }}
run: |
echo '## CCM Example output' >> $GITHUB_STEP_SUMMARY
if [ -f "${{ env.OUTPUT_DIR }}/tmp/artifacts/ccm_example0.png" ]; then
echo '!'"[CCM Example](${{ env.OUTPUT_DIR }}/tmp/artifacts/ccm_example0.png)" >> $GITHUB_STEP_SUMMARY
else
echo 'Missing !' >> $GITHUB_STEP_SUMMARY
fi

- name: Coverage summary
if: ${{ (success() || failure()) && env.VT_TV_COVERAGE_ENABLED == 'ON' }}
run: |
Expand Down
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ add_compile_definitions(SRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
add_compile_definitions(BUILD_DIR="${CMAKE_BINARY_DIR}")

add_custom_target(vt_tv_examples)
add_custom_target(vt_tv_tests)
if (VT_TV_TESTS_ENABLED)
add_custom_target(vt_tv_tests)
endif()
add_custom_target(vt_tv_apps)

set(PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build and Test Ubuntu 22.04 gcc 11 x64](https://github.com/DARMA-tasking/vt-tv/actions/workflows/build-and-test-vt-tv.yml/badge.svg)](https://github.com/DARMA-tasking/vt-tv/actions/workflows/build-and-test-vt-tv.yml)
[![Build and Test](https://github.com/DARMA-tasking/vt-tv/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/DARMA-tasking/vt-tv/actions/workflows/build-and-test.yml)

# tv => task visualizer

Expand Down
18 changes: 17 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ VT_TV_COVERAGE_ENABLED=$(on_off ${VT_TV_COVERAGE_ENABLED:-OFF})
VT_TV_CLEAN=$(on_off ${VT_TV_CLEAN:-ON})
VT_TV_PYTHON_BINDINGS_ENABLED=$(on_off ${VT_TV_PYTHON_BINDINGS_ENABLED:-OFF})
VT_TV_WERROR_ENABLED=$(on_off ${VT_TV_WERROR_ENABLED:-OFF})
VT_TV_XVFB_ENABLED=$(on_off ${VT_TV_XVFB_ENABLED:-OFF})
# >> Run tests settings
VT_TV_RUN_TESTS=$(on_off ${VT_TV_RUN_TESTS:-OFF})
VT_TV_RUN_TESTS_FILTER=${VT_TV_RUN_TESTS_FILTER:-""}
Expand Down Expand Up @@ -76,6 +77,8 @@ help() {
-r --tests-run=[bool] Run unit tests (and build coverage report if coverage is enabled) (VT_TV_RUN_TESTS=$VT_TV_RUN_TESTS)
-f --tests-run-filter=[str] Filter unit test to run. (VT_TV_RUN_TESTS_FILTER=$VT_TV_RUN_TESTS_FILTER)

-x --xvfb=[bool] Use X Virtual Frame Buffer instead of default for rendering (VT_TV_XVFB_ENABLED=$VT_TV_XVFB_ENABLED)

-h --help Show help and default option values.

Examples:
Expand Down Expand Up @@ -123,6 +126,7 @@ while getopts btch-: OPT; do # allow -b -t -c -h, and --long_attr=value"
r | tests-run ) VT_TV_RUN_TESTS=$(on_off $OPTARG) ;;
f | tests-run-filter) VT_TV_RUN_TESTS_FILTER="$OPTARG" ;;
k | vtk-dir ) VTK_DIR=$(realpath "$OPTARG") ;;
x | xvfb ) VT_TV_XVFB_ENABLED=$(on_off $OPTARG) ;;
h | help ) help ;;

\? ) exit 2 ;; # bad short option (error reported via getopts)
Expand All @@ -142,6 +146,7 @@ echo VT_TV_PYTHON_BINDINGS_ENABLED=$VT_TV_PYTHON_BINDINGS_ENABLED
echo VT_TV_RUN_TESTS=$VT_TV_RUN_TESTS
echo VT_TV_TESTS_ENABLED=$VT_TV_TESTS_ENABLED
echo VT_TV_TEST_REPORT=$VT_TV_TEST_REPORT
echo VT_TV_XVFB_ENABLED=$VT_TV_XVFB_ENABLED
echo VT_TV_RUN_TESTS_FILTER=$VT_TV_RUN_TESTS_FILTER
echo VT_TV_COVERAGE_ENABLED=$VT_TV_COVERAGE_ENABLED
echo VT_TV_COVERAGE_REPORT=$VT_TV_COVERAGE_REPORT
Expand Down Expand Up @@ -208,10 +213,21 @@ if [[ "$VT_TV_RUN_TESTS" == "ON" ]]; then

gtest_cmd="\"$VT_TV_BUILD_DIR/tests/unit/AllTests\" $GTEST_OPTIONS"
echo "Run GTest..."

CURRENT_DISPLAY=$(echo $DISPLAY)
if [[ "$VT_TV_RUN_TESTS" == "ON" ]]; then
export DISPLAY=:99.0
Xvfb :99 -screen 0 1024x768x24 -nolisten tcp > /dev/null 2>&1 &
sleep 1s
fi
eval "$gtest_cmd" || true
if [[ "$VT_TV_RUN_TESTS" == "ON" ]]; then
pkill Xvfb
export DISPLAY=$CURRENT_DISPLAY
rm -rf /tmp/.X11-unix/X99
fi

echo "Tests done."

popd
fi

Expand Down
Empty file modified ci/build.sh
100755 → 100644
Empty file.
12 changes: 12 additions & 0 deletions ci/docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Images are built in the CI

To build image locally here is an example call using available build arguments:

For the base image
```shell
docker build -t vttv:latest --build-arg BASE_IMAGE="ubuntu:24.04" --build-arg GCOV=gcov-14 --build-arg BASE_IMAGE=ubuntu:24.04 --build-arg CC=gcc-14 --build-arg CXX=g++-14 --build-arg VTK=9.3.1 -f make-base.dockerfile .
```
Then for the build & test image
```shell
docker build -t vttv-build:latest --build-arg BASE_IMAGE="vttv:latest" --build-arg VT_TV_TESTS_ENABLED=ON --build-arg VT_TV_COVERAGE_ENABLED=OFF --build-arg VT_TV_PYTHON_BINDINGS_ENABLED=ON -f build-and-test.dockerfile .
```
2 changes: 1 addition & 1 deletion ci/docker/build-and-test.dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ARG BASE_IMAGE=lifflander1/vt:ubuntu_22.04-gcc_11-vtk_9.2.2-py_3.8
ARG VT_TV_TESTS_ENABLED=OFF
ARG VT_TV_COVERAGE_ENABLED=OFF
ARG VT_TV_PYTHON_BINDINGS_ENABLED=OFF
ARG VT_TV_PYTHON_BINDINGS_ENABLED=ON

FROM ${BASE_IMAGE} AS base

Expand Down
2 changes: 1 addition & 1 deletion ci/docker/make-base.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ARG BASE_IMAGE=ubuntu:22.04
FROM ${BASE_IMAGE} AS base

# Arguments
ARG VTK_VERSION=v9.2.2
ARG VTK_VERSION=9.2.2
ARG PYTHON_VERSION=3.8
ARG CC=gcc-11
ARG CXX=g++-11
Expand Down
12 changes: 1 addition & 11 deletions ci/test_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@

set -ex

export DISPLAY=:99.0

# Start custom display with X virtual frame buffer
Xvfb :99 -screen 0 1024x768x24 -nolisten tcp > /dev/null 2>&1 &
sleep 1s

VT_TV_OUTPUT_DIR=/var/vt-tv/output
VT_TV_TESTS_OUTPUT_DIR=/opt/src/vt-tv/output/tests

Expand All @@ -19,6 +13,7 @@ bash -c "VTK_DIR=/opt/build/vtk \
VT_TV_COVERAGE_ENABLED=${VT_TV_COVERAGE_ENABLED:-OFF} \
VT_TV_OUTPUT_DIR=$VT_TV_OUTPUT_DIR \
VT_TV_RUN_TESTS=ON \
VT_TV_XVFB_ENABLED=ON \
/opt/src/vt-tv/build.sh"

# Add artifacts
Expand Down Expand Up @@ -53,8 +48,3 @@ popd

# list artifacts dir content
ls $VT_TV_ARTIFACTS_DIR

# Clean and restore regular display
pkill Xvfb
rm -rf /tmp/.X11-unix/X99
export DISPLAY=:0
2 changes: 1 addition & 1 deletion config/conf.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
input:
directory: tests/data/lb_test_data
directory: data/lb_test_data
n_ranks: 4

viz:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion lib/fetch_googletest.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /bin/sh
#!/bin/bash

GTEST_BRANCHTAG=release-1.12.1 # next is v1.14.0

Expand Down
22 changes: 13 additions & 9 deletions scripts/create_synthetic_attributes_data.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
"""Add synthetic attributes to lb_test_data and output to data/synthetic_attributes"""

import json
import brotli
import os

import brotli

def get_attributes_dict(id):
attributes = {
"""Creates some attributes list"""

return {
"doubleAttribute": float(id) * 3.14,
"elementIDAttribute": id + 30000000000,
"intAttribute": id,
"stringAttribute": f"id is {id}"
}
return attributes

project_dir = os.path.dirname(os.path.dirname(__file__))
test_data_dir = os.path.join(project_dir, "tests", "data", "lb_test_data")
test_data_dir = os.path.join(project_dir, "data", "lb_test_data")

output_dir = os.path.join(project_dir, "tests", "data", "synthetic_attributes")
output_dir = os.path.join(project_dir, "data", "synthetic_attributes")
os.makedirs(output_dir, exist_ok=True)

# Loop through all ranks
num_ranks = 4
for rank_id in range(num_ranks):
NUM_RANKS = 4
for rank_id in range(NUM_RANKS):
json_file = os.path.join(test_data_dir, f"data.{rank_id}.json")
with open(json_file) as f:
with open(json_file, encoding="utf-8") as f:
json_data = json.load(f)

# Add rank attributes
Expand All @@ -37,7 +41,7 @@ def get_attributes_dict(id):

# Write out json
output_file = os.path.join(output_dir, f"data.{rank_id}.json")
with open(output_file, "w") as out_json:
with open(output_file, "w", encoding="utf-8") as out_json:
json.dump(json_data, out_json)
out_json.write("\n")

Expand Down
18 changes: 18 additions & 0 deletions tests/config/ccm-example-no-png.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
input:
directory: data/ccm_example
n_ranks: 2

viz:
x_ranks: 2
y_ranks: 1
z_ranks: 1
object_jitter: 0.0
rank_qoi: load
object_qoi: shared_id
save_meshes: true
save_pngs: false
force_continuous_object_qoi: true

output:
directory: output/tests/no_png
file_stem: ccm_example
4 changes: 2 additions & 2 deletions tests/config/ccm-example.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
input:
directory: tests/data/ccm_example
directory: data/ccm_example
n_ranks: 2

viz:
x_ranks: 2
y_ranks: 1
z_ranks: 1
object_jitter: 0.5
object_jitter: 0.0
rank_qoi: load
object_qoi: shared_id
save_meshes: true
Expand Down
18 changes: 18 additions & 0 deletions tests/config/conf-no-png.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
input:
directory: data/lb_test_data
n_ranks: 4

viz:
x_ranks: 2
y_ranks: 2
z_ranks: 1
object_jitter: 0.0
rank_qoi: load
object_qoi: load
save_meshes: true
save_pngs: false
force_continuous_object_qoi: true

output:
directory: output/tests/no_png
file_stem: default
4 changes: 2 additions & 2 deletions tests/config/conf.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
input:
directory: tests/data/lb_test_data
directory: data/lb_test_data
n_ranks: 4

viz:
x_ranks: 2
y_ranks: 2
z_ranks: 1
object_jitter: 0.5
object_jitter: 0.0
rank_qoi: load
object_qoi: load
save_meshes: true
Expand Down
Binary file modified tests/expected/ccm_example/ccm_example0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 15 additions & 14 deletions tests/expected/ccm_example/ccm_example_object_mesh_0.vtp
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,36 @@
<VTKFile type="PolyData" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
<PolyData>
<Piece NumberOfPoints="3" NumberOfVerts="0" NumberOfLines="3" NumberOfStrips="0" NumberOfPolys="0" >
<PointData Scalars="load">
<DataArray type="Float64" Name="load" format="appended" RangeMin="2" RangeMax="5" offset="0" />
<DataArray type="Bit" Name="migratable" format="appended" RangeMin="1" RangeMax="1" offset="48" />
<PointData Scalars="shared_id">
<DataArray type="Float64" Name="shared_id" format="appended" RangeMin="0" RangeMax="1" offset="0" />
<DataArray type="Bit" Name="migratable" format="appended" RangeMin="1" RangeMax="1" offset="44" />
<DataArray type="Float64" Name="load" format="appended" RangeMin="2" RangeMax="5" offset="80" />
</PointData>
<CellData Scalars="bytes">
<DataArray type="Float64" Name="bytes" format="appended" RangeMin="10000" RangeMax="35000" offset="84" />
<DataArray type="Float64" Name="bytes" format="appended" RangeMin="10000" RangeMax="35000" offset="128" />
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.11671635509" RangeMax="0.91873401403" offset="140" />
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0.16666667163" RangeMax="1" offset="184" />
</Points>
<Verts>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="200" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="216" />
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="244" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="260" />
</Verts>
<Lines>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="232" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="284" />
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="276" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="328" />
</Lines>
<Strips>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="332" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="348" />
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="376" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="392" />
</Strips>
<Polys>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="364" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="380" />
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="408" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="424" />
</Polys>
</Piece>
</PolyData>
<AppendedData encoding="base64">
_AQAAAACAAAAYAAAAEgAAAA==eJxjYAADBwjFA6VFHAAHeADhAQAAAACAAAABAAAACQAAAA==eJx7AAAA4QDhAQAAAACAAAAYAAAAGAAAAA==eJxjYACCrBsOIIqh4zCEFn/oAAAtYwRGAQAAAACAAAAkAAAAGgAAAA==eJw7eN5kHwMU/OF4bwtjqxtl28PYAJM9BbY=AAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAQAAAACAAAAwAAAAFAAAAA==eJxjYIAARgZUwIQmDuMDAACoAAc=AQAAAACAAAAYAAAAEAAAAA==eJxjYoAAFijNBqUBALgADQ==AAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAA
_AQAAAACAAAAYAAAADgAAAA==eJxjYMAGPtgDAAI3ATA=AQAAAACAAAABAAAACQAAAA==eJx7AAAA4QDhAQAAAACAAAAYAAAAEgAAAA==eJxjYAADBwjFA6VFHAAHeADhAQAAAACAAAAYAAAAGAAAAA==eJxjYACCrBsOIIqh4zCEFn/oAAAtYwRGAQAAAACAAAAkAAAAGQAAAA==eJxbvUprHwMUrF6lZccABw32MBYAfLcEug==AAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAQAAAACAAAAwAAAAFAAAAA==eJxjYIAARgZUwIQmDuMDAACoAAc=AQAAAACAAAAYAAAAEAAAAA==eJxjYoAAFijNBqUBALgADQ==AAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAA
</AppendedData>
</VTKFile>
Binary file modified tests/expected/default/default0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified tests/expected/default/default7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading