Skip to content

split the test-suite #427

@jkowalleck

Description

@jkowalleck

situation

having a test-suite is fine, but it has a flaws: it is a mix of general rules for the purl spec, and the specific rules for the fast-living and still-evolving type-spec.

problems

  • this current situation makes it hard to use the test-suite for general-purpose libraries that dont implement every purl-type specific rule, but only the core spec.
    For example, the PHP implementation does not have all these purl-type specific rules implemented, it expects the downstream user to take care of the spec they use, since the downstream user knows their domain.
  • this current situation makes it hard to update their version of the test-suite for general-purpose libraries that want to use the latest test suite without adding the new purl-types ("features").
    For example, the Java implementation can not simply pull the latest test suite that includes the latest general purl-spec related cases, since the test-suite also includes cases for purl-specifics that are not yet implemented in Java library.

proposal

split the test suite into core spec, and purl-type specifics,
so that implementations can pick(glob) the relevant parts of the test suite they actually implement.

suggestion

  • have a folder, that contains all test suites.
  • have a file for the purl core spec: PURL-SPECIFICATION.json
  • have a file for each purl type: PURL-TYPES.<type>.json
test-suite
    ├── PURL-SPECIFICATION.json
    ├── PURL-TYPES.apk.json
    ├── PURL-TYPES.bitnami.json
...
    ├── PURL-TYPES.generic.json
...
    └── PURL-TYPES.swift.json

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions