forked from FunkinCrew/Funkin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Unit Tests: Coverage Reporting and Github Actions Integration (Funkin…
…Crew#131) * Initial test suite * Fix some build warnings * Implemented working unit tests with coverage * Reduced some warnings * Fix a mac-specific issue * Add 2 additional unit test classes. * Multiple new unit tests * Some fixins * Remove auto-generated file * WIP on hiding ignored tests * Added list of debug hotkeys * Remove old website * Remove empty file * Add more unit tests * Fix bug where arrows would nudge BF * Fix bug where ctrl/alt would flash capsules * Fixed bug where bf-old easter egg broke * Remove duplicate lines * More test-related stuff * Some code cleanup * Add mocking and a test assets folder * More TESTS! * Update Hmm... * Update artist on Monster * More minor fixes to individual functions * 1.38% unit test coverage! * Even more tests? :O * More unit test work * Rework migration for BaseRegistry * gameover fix * Fix an issue with Lime * Fix issues with version parsing on data files * 100 total unit tests! * Added even MORE unit tests! * Additional test tweaks :3 * Fixed tests on windows by updating libraries. * A bunch of smaller syntax tweaks. * New crash handler catches and logs critical errors! * Chart editor now has null safety enabled. * Null safety on all tests * New Level data test * Generate proper code coverage reports! * Disable null safety on ChartEditorState for unit testing * Update openfl to use latest fixes for crash reporting * Added unit test to Github Workflow * Updated unit tests to compile with null safety enabled by inlining assertions. * Added coverage gutters as a recommended extension * Impreovements to tests involving exceptions * Disable a few incomplete tests. * Add scripts for building unit coverage reports on linux --------- Co-authored-by: Cameron Taylor <cameron.taylor.ninja@gmail.com>
- Loading branch information
1 parent
3828179
commit 279277b
Showing
38 changed files
with
582 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package funkin.util.macro; | ||
|
||
#if macro | ||
using funkin.util.tools.ArrayTools; | ||
#end | ||
|
||
/** | ||
* A macro to make fields inline. | ||
*/ | ||
class InlineMacro | ||
{ | ||
/** | ||
* For the given class, find the (static?) field with the given name and make it inline. | ||
* @param field | ||
* @param isStatic | ||
*/ | ||
public static macro function makeInline(field:String, isStatic:Bool = false):Array<haxe.macro.Expr.Field> | ||
{ | ||
var pos:haxe.macro.Expr.Position = haxe.macro.Context.currentPos(); | ||
// The FlxBasic class. We can add new properties to this class. | ||
var cls:haxe.macro.Type.ClassType = haxe.macro.Context.getLocalClass().get(); | ||
// The fields of the FlxClass. | ||
var fields:Array<haxe.macro.Expr.Field> = haxe.macro.Context.getBuildFields(); | ||
|
||
// Find the field with the given name. | ||
var targetField:Null<haxe.macro.Expr.Field> = fields.find(function(f) return f.name == field | ||
&& (MacroUtil.isFieldStatic(f) == isStatic)); | ||
|
||
// If the field was not found, throw an error. | ||
if (targetField == null) haxe.macro.Context.error("Field " + field + " not found in class " + cls.name, pos); | ||
|
||
// Add the inline access modifier to the field. | ||
targetField.access.push(AInline); | ||
|
||
return fields; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
{ | ||
"version": "1.0.0", | ||
"name": "SHOULD FAIL TO PARSE", | ||
"titleAsset": "", | ||
"props": [ | ||
{ | ||
"assetPath": "storymenu/props/gf", | ||
"scale": 1.0, | ||
"danceEvery": 2, | ||
"offsets": [80, 80], | ||
"animations": [ | ||
{ | ||
"name": "danceLeft", | ||
"prefix": "idle0", | ||
"frameIndices": [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] | ||
}, | ||
{ | ||
"name": "danceRight", | ||
"prefix": "idle0", | ||
"frameIndices": [ | ||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"assetPath": "storymenu/props/bf", | ||
"scale": 1.0, | ||
"danceEvery": 2, | ||
"offsets": [150, 80], | ||
"animations": [ | ||
{ | ||
"name": "idle", | ||
"prefix": "idle0", | ||
"frameRate": 24 | ||
}, | ||
{ | ||
"name": "confirm", | ||
"prefix": "confirm0", | ||
"frameRate": 24 | ||
} | ||
] | ||
} | ||
], | ||
"background": "#F9CF51", | ||
"songs": ["tutorial"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
cd ./report/ | ||
genhtml -o ./html/ ./lcov.info |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.