Increase specificity of integration tests
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 50/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- lua
- Área
- testing-qa
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Lua
- Estrellas
- 30
- Forks
- 20
- Merge medio
- 6 d 12 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de panel-attack/panel-game
-
engine priority: 3 - wishlist wontfix
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
panel-attack/panel-game#780 ·
-
Training lists duplicate classic puzzles because the training filter's set names don't matchAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
panel-attack/panel-game#779 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
panel-attack/panel-game#776 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
panel-attack/panel-game#766 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
panel-attack/panel-game#761 ·
Todos los issues de panel-attack/panel-game
Issues similares
-
2个显示的问题Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
coolsnowwolf/lede#14209 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug: splunk-hec-logging crashes with nil concatenation when error response json lacks text fieldPosiblemente ocupada @bhuvan-somisetty la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
enhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
gabrielmongefranco/privatium#84 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nvim-tree/nvim-tree.lua#3362 · 1 comentario ·