John ChiltonandClaude Opus 4.6 32f49d0f6c Add tool form E2E test harness driven by XML test definitions
Reuses existing tool <tests> blocks to drive execution through the
browser tool form, then verifies outputs with verify() infrastructure.

Harness infrastructure (navigates_galaxy.py):
- run_tool_test() orchestrates: fetch test def via galaxy_interactor,
  stage data via stage_inputs(), fill form, execute, verify
- Data staging uses stage_inputs() from populators (not bespoke upload),
  supporting files, collections, binary data, and ftype passthrough
- Collection staging converts TestCollectionDef dicts to CWL-like job
  entries; supports paired, list, and list:paired (nested) types
- Job-based output tracking: snapshots pre-execution jobs, finds new job
  after form submit, fetches outputs by dataset ID via job API
- Output collection verification: checks collection_type, element count,
  and verifies each element's content; supports nested sub-collections
- Two-pass input filling: shallow params first (conditionals), then
  deferred params, data params, collection params last
- Type detection via smart components: drilldown, checkbox_select,
  boolean, color, select, text
- Multi-data support: detect FormSelection wrapper, clear auto-selected
  tags before setting desired value
- Smart component selectors in navigation.yml for param type detection
  and interaction (parameter_checkbox_input, parameter_color_input,
  parameter_text_input, parameter_drilldown_option, etc.)

Test data:
- Add test cases to gx_data.xml and gx_repeat_boolean.xml
- Fix output name in gx_repeat_data.xml (out_file1 -> output)

Test suite (test_tool_form_harness.py) — 30 tests:
- Scalar params: int, float, text, select, boolean, color
- Composite params: conditional (select + boolean), section, repeat,
  drilldown, multi-select checkboxes, data column, multi-data
- Data: single file, optional absent, multi-output, multi-repeats
- Collections: paired, list, list:paired input; paired and list:paired
  output verification; mixed collection+data; optional absent collection
- Integration: simple_constructs, implicit_default_conds

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 21:56:32 -04:00
2026-01-19 18:39:16 +00:00
2023-09-27 14:30:42 -04:00
2026-01-20 10:25:45 +00:00
2025-03-15 17:12:02 +00:00
2026-02-27 14:52:07 -05:00
2022-09-05 17:23:18 +01:00
2020-10-03 02:26:40 -04:00
2023-12-20 17:52:31 +01:00
2025-05-07 10:45:09 +01:00
2026-03-06 19:05:20 +01:00
2026-01-28 19:32:31 +03:00
2026-02-28 19:44:15 +00:00
2026-03-09 17:32:58 +01:00
2026-01-19 18:39:16 +00:00
2026-03-03 22:52:10 -05:00
2022-12-12 16:13:03 +01:00

.. figure:: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo.jpg
   :alt: Galaxy Logo

The latest information about Galaxy can be found on the `Galaxy Community Hub <https://galaxyproject.org/>`__.

Community support is available at `Galaxy Help <https://help.galaxyproject.org/>`__.

.. image:: https://img.shields.io/badge/chat-gitter-blue.svg
    :target: https://gitter.im/galaxyproject/Lobby
    :alt: Chat on gitter

.. image:: https://img.shields.io/badge/chat-irc.freenode.net%23galaxyproject-blue.svg
    :target: https://webchat.freenode.net/?channels=galaxyproject
    :alt: Chat on irc

.. image:: https://img.shields.io/badge/release-documentation-blue.svg
    :target: https://docs.galaxyproject.org/en/master/
    :alt: Release Documentation

.. image:: https://travis-ci.org/galaxyproject/galaxy.svg?branch=dev
    :target: https://travis-ci.org/galaxyproject/galaxy
    :alt: Inspect the test results

Galaxy Quickstart
=================

Galaxy requires Python 3.10 or higher. To check your Python version, run:

.. code:: console

    $ python -V
    Python 3.10.12

Start Galaxy:

.. code:: console

    $ sh run.sh

Once Galaxy completes startup, you should be able to view Galaxy in your
browser at: http://localhost:8080

For more installation details please see: https://getgalaxy.org/

Documentation is available at: https://docs.galaxyproject.org/

Tutorials on how to use Galaxy, perform scientific analyses with it, develop Galaxy and its tools, and admin a Galaxy server are at: https://training.galaxyproject.org/

Tools
=====

Tools can be either installed from the Tool Shed or added manually.
For details please see the `tutorial <https://galaxyproject.org/admin/tools/add-tool-from-toolshed-tutorial/>`__.
Note that not all dependencies for the tools provided in the
``tool_conf.xml.sample`` are included. To install them please visit
"Manage dependencies" in the admin interface.

Issues and Galaxy Development
=============================

Please see `CONTRIBUTING.md <CONTRIBUTING.md>`_ .
Languages
Python 64.2%
TypeScript 14.6%
Vue 12.4%
JavaScript 3.7%
Jupyter Notebook 2.4%
Other 2.5%