Skip to content

Commit

Permalink
move and enable visual tests (#9961)
Browse files Browse the repository at this point in the history
* move and enable visual tests

* change directory for linux visual

* diff visual tests and assert immediately

* use autoformatting

* fix lint errors

* reformat after lint fix

* remove unused var lint err

* fix test image reference paths

* archive and publish image tests on failure

* add results to archive on failure

* fix format issue

* fix graph result naming

* add new source of truth for image tests

* update state city graph reference

* feedback cleanup

* remove unused import

* update state city ref

* visual tests run as separate job

* add visual test job to azure pipelines

* add virtual env to visual tests

* add bad ref for testing

* fix barrier reference

* add bad graph ref for testing

* fix graph references

* rounding error

* update state city ref

* unify failure dir, force failure

* refactor basedon review

* formatting, update test discovery

* import order per linting

* add docstring to vis utilities

* add dev requirements to image tests

* update references

* Remove unnecessary Azure default parameter

* Remove out-of-date references to Binder

* Remove executable bit from Python script

---------

Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
  • Loading branch information
3 people committed Jul 11, 2023
1 parent e9c86a5 commit fb9d5d8
Show file tree
Hide file tree
Showing 205 changed files with 1,599 additions and 564 deletions.
40 changes: 39 additions & 1 deletion .azure/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ jobs:
image_tests/bin/python -m pip install -U \
-c constraints.txt \
-r requirements.txt \
-r requirements-dev.txt \
-e ".[visualization]"
sudo apt-get update
sudo apt-get install -y graphviz pandoc
Expand All @@ -185,10 +186,47 @@ jobs:
env:
SETUPTOOLS_ENABLE_FEATURES: "legacy-editable"
- bash: image_tests/bin/python -m unittest discover -v test/ipynb
- bash: image_tests/bin/python -m unittest discover -v test/visual
displayName: 'Run image test'
env:
# Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
# a new internal interface that will be the default in jupyter-core 6.x.
# This variable should become redundant on release of jupyter-core 6.
JUPYTER_PLATFORM_DIRS: 1

- task: ArchiveFiles@2
displayName: Archive visual test failure diffs
inputs:
rootFolderOrFile: 'test/visual/mpl/visual_test_failures'
includeRootFolder: false
archiveType: tar
archiveFile: '$(Build.ArtifactStagingDirectory)/visual_test_failures.tar.gz'
verbose: true
condition: failed()

- task: ArchiveFiles@2
displayName: Archive circuit results
inputs:
rootFolderOrFile: 'test/visual/mpl/circuit/circuit_results'
archiveType: tar
archiveFile: '$(Build.ArtifactStagingDirectory)/circuit_results.tar.gz'
verbose: true
condition: failed()

- task: ArchiveFiles@2
displayName: Archive graph results
inputs:
rootFolderOrFile: 'test/visual/mpl/graph/graph_results'
archiveType: tar
archiveFile: '$(Build.ArtifactStagingDirectory)/graph_results.tar.gz'
verbose: true
condition: failed()

- task: PublishBuildArtifacts@1
displayName: 'Publish image test failure diffs'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'image_test_failure_img_diffs'
Parallel: true
ParallelCount: 8
condition: failed()
3 changes: 3 additions & 0 deletions qiskit/visualization/state_visualization.py
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,9 @@ def plot_state_city(
min_dzi = np.min(dzi)
max_dzi = np.max(dzi)

# There seems to be a rounding error in which some zero bars are negative
dzr = np.clip(dzr, 0, None)

if ax1 is not None:
fc1 = generate_facecolors(xpos, ypos, zpos, dx, dy, dzr, color[0])
for idx, cur_zpos in enumerate(zpos):
Expand Down
16 changes: 0 additions & 16 deletions test/ipynb/mpl/circuit/__init__.py

This file was deleted.

Binary file removed test/ipynb/mpl/circuit/references/6095.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/barrier_label.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/big_gates.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/bw.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/calibrations.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/cnot.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/cswap_rzz.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/ctrl_labels.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/cz.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/empty_circut.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/figwidth.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/fold_4.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/fold_minus1.png
Binary file not shown.
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/ghz_to_gate.png
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/global_phase.png
Binary file not shown.
Binary file not shown.
Binary file removed test/ipynb/mpl/circuit/references/init_reset.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/iqx-dark_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/iqx_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/long_name.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/meas_condition.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/no_barriers.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/no_op_circut.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/partial_layout.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/pauli_clifford.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/r_gates.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/reverse_bits.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/scale_double.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/scale_half.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/subfont.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/textbook_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/user_ax.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/user_style.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/wide_params.png
Diff not rendered.
Binary file removed test/ipynb/mpl/circuit/references/wire_order.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/1_qubit_gate_map.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/5_qubit_gate_map.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/7_qubit_gate_map.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/coupling_map.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/figsize.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/font_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/hinton.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/histogram.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/histogram_color.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/histogram_legend.png
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/histogram_title.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/line_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/paulivec.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/qsphere.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/qubit_color.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/qubit_labels.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/qubit_size.png
Diff not rendered.
Binary file removed test/ipynb/mpl/graph/references/state_city.png
Diff not rendered.
Loading

0 comments on commit fb9d5d8

Please sign in to comment.