Skip to content

Re-organize PURL test files by test_group #760

@mjherzog

Description

@mjherzog

Most current PURL test files contain a mixture of test cases from the base and advanced test groups. The core concept is that a PURL tool must pass all base tests to demonstrate conformance with the PURL specification; advanced tests are optional.

Keeping base and advanced test cases in separate files would make it simpler to focus on *base test cases for conformance from optional advanced test cases - instead of parsing every test file to find the base tests.

The proposal is add one level of depth to the directory structure to separate base and advanced test cases with the new structure:

/tests/spec/advanced/
/tests/spec/base/
/tests/types/advanced/
/tests/types/base/

Other approaches to implement this idea are:

  • Include the test_group name in the names of each test file
  • Reorganize test case folders as:
/tests/advanced/spec
/tests/advanced/types
/tests/base/spec.
/tests/base/types

Either approach would require an automated conversion of existing test files.

NB: test group terminology reverted from strict/permissive to base/advanced on 2025.12.05. See #758 for discussion of renaming test groups.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions