Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add unit tests #60

Open
10 tasks
knah opened this issue Jun 30, 2021 · 0 comments
Open
10 tasks

Add unit tests #60

knah opened this issue Jun 30, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@knah
Copy link
Owner

knah commented Jun 30, 2021

Unit tests are incredibly valuable when performing refactorings, rewrites, and even general development.
Things to cover:

  • Assembly generation
    • Various OS/Architecture combinations (current targets would be x86/x64/ARM; Windows, Linux, Android)
      • The generation process itself currently is targeting Windows only, optionally Linux - Android modding test approaches currently modify the APK on the PC
    • Various Unity/IL2CPP versions (ideally one sample for each metadata format, see the Il2CppVersions repo)
    • Renaming for deobfuscation
    • Generation-time xref scans
    • General validity of resulting assemblies as far as netcore is concerned (Check/fix assemblies being invalid as far as netcore/netfw runtimes are concerned #44)
  • Runtime features
    • Figure out a way to run an IL2CPP GameAssembly without the corresponding Unity game?
    • General functioning of generated assemblies
    • Class injection (on different architectures/OS - does GH Actions have ARM runners?)
    • Assuming any arch is not covered by generation-time xref scanning - that there are any architectures left
    • Delegates conversion

Things to consider:

  • Test data (generated GameAssembly/metadata/generated dummy dlls) can be exceedingly big, so put it into a subrepo
  • Test execution time should be kept low, so include dummy dlls in test data?
  • Include some easy ways to generate new variations of test data for other platforms/unity versions (sample project, sample build scripts? Run IL2CPP converter/compiler without unity editor?)
  • No real games in test data, only hand-built sample projects might be limiting, but also not impossible to expand to cover various versions.
@knah knah added the enhancement New feature or request label Jun 30, 2021
@knah knah self-assigned this Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant