Skip to content

Make regression testing less painful #868

Closed

Description

@antonfirsov

The current way of keeping the reference images in a subrepo doesn't look like a good idea any longer. We need to bring those images into the ImageSharp repository.

However, in long term need to have control over the repository size, so the following chore tasks have to be finished, before integrating the reference images:

  • Clean up the git history on main, dropping image blobs from the past. (We can copy the current, heavy git tree to an archive branch.)
  • If we want control over reference image sizes, we should not add tests with "no brainer" test images. We should choose the test images wisely for [Theory]-s having a reference output. We need to review all test cases, and drop all usages of stuff like dumb lists in TestFileBase (eg. FileTestBase.DefaultFiles).

Activity

  1. JimBobSquarePants commented on Mar 30, 2019

    @JimBobSquarePants
    Member

    Volunteering someone else to do step 1.

    We should make this a priority as I've already broken tests for everyone else. SixLabors/Imagesharp.Tests.Images@9d71985

  2. brianpopow commented on Apr 26, 2019

    @brianpopow
    Collaborator

    I would recommend Git Large File Storage (LFS) to separate binary file from the git repo. It is a git plugin which makes it very convenient to deal with it. It will replace binary files with a text pointer in git and the files itself would be stored at GitHub.

    You just mark file you want to track by LFS like this:

    git lfs track "*.jpg"

    And thats it, the rest is just the usual git workflow. For a quick start guide: GIT LFS.

    You can also change the git history with it like this:

    git lfs migrate import --include="*.jpg"

    For more information: GIT LFS repository

    The only downside i see is, that contributers would need to install the plugin to get the images to be able to run the unit test.

  3. added this to the 1.0.0 milestone on Apr 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions