Increase specificity of integration tests
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 50/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- lua
- Ambito
- testing-qa
Direzione di ricerca
Identify the integration test files containing the listed tests (e.g., testChainingPropagationThroughSwap1, testFirstHoverFrameMatch, frameTricksTest). For each, replace full replay loading with minimal puzzle setups using scheduled garbage and replay inputs. Run the relevant test files to confirm behavior is preserved. Done when all scoped tests are converted and the test suite passes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Our current integration tests for engine functionality are very broad in the manner that they load up an entire replay and play it, only pausing at specific moments to verify behaviour.
As the engine changes over time to provide a better gameplay experience, replays used in integration tests may break for reasons unrelated to the actual change in the engine.
For most of these integration tests it should be possible to verify the behaviour by creating a puzzle with extra steps e.g. garbage scheduled to fall at specific times along with replay inputs that mimic the actions in the original replay.
This way the approximately 99% of each replay that aren't relevant for the behaviour verification can be eliminated and integration tests are likely to hold even through engine changes.
List of tests for conversion within the scope of this issue:
- testChainingPropagationThroughSwap1
- testFirstHoverFrameMatch
- testHoverChainOverGarbageClear
- horizontalSwapIntoHoverTest
- noInputsInVsIsDrawTest
- frameTricksTest; should be divided into multiple:
- stealth
- insert
- outsert
- platform
- catch
- grounded catch
- DAS catch
- stealth catch
- grounded stealth catch
- slide
- bloop
- yoschi's dumptruck
- tornado
- mato special
- catchAndSyncTest (only the sync)
- downStackDropsSandwichedGarbageAllTogether
- matchMetalAndGarbageClearsAllMetalTest
- fallingWhileHoverBeginsDoesNotChain
- StackRollbackReplayTests
- rollback from death
- rolling back around attack timings in all discrete configurations
- simpleTouchTest; all variations mentioned in the comments in separate tests
- GarbageQueue tests; these should be remade to only feature the GarbageQueue interface instead of Match
- testHoverInheritanceOverSwapOverGarbageHover (for the hover)
- testHoverInheritanceOverSwapOverGarbageHover (for shock panel generation; that cannot be easily replicated with the kind of test demanded by this issue; get creative and probably do this last)
The following tests are intentionally unspecific in nature; we cannot really do anything but replace them when implementing breaking changes that affect a wider array of replays:
- basicEndlessTest
- basicTimeAttackTest
- basicVsTest
- basicVsTest2
The following tests will just become plain obsolete when implementing breaking changes that affect a wider array of replays, usually because they are testing for compatibility with older engine versions:
- movingBeforeInPositionDisallowedPriorToTouch
Non-maintenance issues that would make this a lot easier to implement:
- #137
- #202
High priority as it is blocking several engine changes and bugfixes, including:
- #663
- #634
- #624
- Lingua principale
- Lua
- Stelle
- 30
- Fork
- 20
- Merge medio
- 6g 12h
- PR unite (30g)
- 6
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di panel-attack/panel-game
-
engine priority: 3 - wishlist wontfix
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
panel-attack/panel-game#780 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
panel-attack/panel-game#779 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
panel-attack/panel-game#776 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
panel-attack/panel-game#766 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
panel-attack/panel-game#761 ·
Tutte le issue di panel-attack/panel-game
Issue simili
-
import-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
public-transport/transitous#2553 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug Forever Module - Map / Minimap Needs testing/reproduction
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
2个显示的问题Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
coolsnowwolf/lede#14209 ·
-
LaTeX in answersAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
numbats/moodlequiz#38 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno