Skip to content

Unit Test for validating LCF readers/writers #270

Open

Description

@Ghabry

As discussed in the bit perfect issues we need a regression test. This allows major refactorings without being afraid to break games :).

I don't want to bloat the repo with too many binary files, the testrunner could accept a custom directory for execution but there should be at least files of any type in the repo to have minimal test coverage.

As a generic unit test we could maybe add the following files to liblcf: (LDB, LMT, Map0001.LMU, one savegame per project).

  • 2k: Test Game 2000
  • 2k: "New Project" RPG2k Japan
  • 2ke: "New Project" RPG2k Steam
  • 2k3: Test Game 2003
  • 2k3: "New Project" RPG2k3 Japan
  • 2k3e: "New Project" RPG2k3 Steam

Activity

  1. self-assigned this
    on Oct 30, 2018
  2. mateofio commented on Oct 30, 2018

    @mateofio
    Contributor

    Test data could even be in a separate repo. I wouldn't want to pollute liblcf with game data either. At a minimum what you suggest might be ok. Or even a carefully crafted minimal set of LDB,LMT,LMU,LSD that exercise all of the edge cases.

    I'd also be fine with having all of the test code, scripts, directory structure infra etc.. in the repo and require people wanting to run it to get the games from some other source and just drop them in the right place to run the scripts.

    A full test of liblcf is always going to require a large repo of games. But they could be just stored somewhere manually on the jenkins server for automated testing.

  3. carstene1ns commented on Oct 30, 2018

    @carstene1ns
    Member

    ...because these should be bit perfect now, we could also generate the "New Project" ones by code and do some checksum tests.

  4. ghost removed this from the 0.6.0 milestone on Feb 12, 2019
  5. ghost added this to the 0.6.x milestone on Feb 12, 2019
  6. ghost removed this from the 0.6.1 milestone on Jun 30, 2019
  7. ghost added this to the 0.6.2 milestone on Jun 30, 2019
  8. modified the milestones: 0.6.2, 0.7.0 on Apr 19, 2020
  9. modified the milestones: 0.8.0, 0.8.1 on Apr 25, 2023
  10. removed this from the 0.8.1 milestone on Nov 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions