stevenarella icon indicating copy to clipboard operation
stevenarella copied to clipboard

Regression Testing

Open skillman623 opened this issue 4 years ago • 2 comments

Framework for regression testing of the client.

  • [ ] Controls from the command line.

  • [ ] Option to disable the UI

  • [ ] Option to take a screenshot (video clips would be preferable)

  • [ ] Chat and commands (from the command line).

  • [ ] Equip/Unequip armor from the command line.

  • [ ] list inventory from the command line (maybe optionally render in ASCII in terminal).

  • [ ] Allow placing of blocks from the command line.

  • [ ] Allow breaking blocks via command line.

  • [ ] Allow interacting with inventories via the command line.

  • [ ] Allow dropping items from command line.

  • [ ] Left click and right click via command line

  • [ ] Benchmark-render test of different blocks, lighting, and animations to test for slowdowns (log fps, resolution).

  • [ ] Optional analytics such Stevenarella build number, as driver type and version, system memory allocated, OS, OS version (windows build number, Linux kernel version)

  • [ ] Log world data, network data, entity data, server version... Replay using Stevenarella (simulate server sending data to make storage and observation of tests feasible)).

  • [ ] ability to launch multiple instances at once (command line launch argument to use offline username shouldn't save to config file or should save to separate config per username)

  • [ ] Hooks for player status (death, sneaking, hunger, health, saturation...)

  • [ ] Example mod should be shipped with client to test mod loading.

skillman623 avatar Jul 04 '20 23:07 skillman623

Looks like a good roadmap. I'd also add testing with various server software. Note some of these items are blocked by missing gameplay features:

Equip/Unequip armor from the command line. list inventory from the command line (maybe optionally render in ASCII in terminal). Allow interacting with inventories via the command line. Allow dropping items from command line.

  • inventory (https://github.com/iceiix/stevenarella/issues/62)

Chat and commands (from the command line).

  • chat (https://github.com/iceiix/stevenarella/issues/63)

Allow breaking blocks via command line. Left click and right click via command line

  • mining (https://github.com/iceiix/stevenarella/issues/24)

Allow placing of blocks from the command line.

Placing blocks is/was supported (from the GUI) though it appears to have broken (https://github.com/iceiix/stevenarella/issues/358)

iceiix avatar Jul 25 '20 00:07 iceiix

In addition to this, there is batch testing at compiling time built into rust. In regards to the assets we can either reference a external crate or check for/download the 1.12.2 asset folder used on first launch.

skillman623 avatar Jul 25 '20 02:07 skillman623