Skip to content

Tests/CI/Tooling #181

@AdrianDeWinter

Description

@AdrianDeWinter

I thought having a proper issue for this might be better than to keep annoying Sim in discord.

I took a look at building up a proper testing toolchain, and from what I see, there a couple of potential goals for this:

  • Compatibility testing with new Blender versions
    Find out early and easily what is or isn't broken, without relying on the apparently lacklustre change-notes from Blender
  • Testing fixes and new features
    Classic TDD, how far to take that is a matter of philosophy
  • Regression testing
    Make sure nothing breaks (unnoticed)

And two rather different environments to do this in:

  • Running test interactively in Blender from VSCode
    Most easily accomplished by just running though a list of function references.
    Would be great if this could happen through VSCode's testing interface, but getting that into Blenders bundles python looks like a gigantic can of worms...
  • Running tests in an automated fashion, maybe even a proper CI
    The blender_addon_tester package can download any blender version, sets up pytest in that and then just runs through the tests like any other pytest CLI invocation. Wrapped in a short script, this is an easy way to invoke the test suite without needing to attach a debugger to a Blender instance. I even tested it on a headless Linux container :D
    This could also be automated via GitHub actions (limited to the main branch to conserve minutes, for example)

I'll open a Proof-of-concept PR and link it to this Issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions