* Support binary `target_obj` in scratch creation
Also support `--disassemble=` in `diff_flags`,
so the scratch can be limited to a single function
within the object.
Resolves https://github.com/decompme/decomp.me/issues/215
* Test fixes
* Validate uploaded file size & magic
Remove `-D` from `skip_flags_with_args`,
we want to keep defines.
* Organize tests, update settings, backend deps
* Remove project import code from backend
* Remove some frontent project code
* more progress, project cleanup
* more preset work
* .
* upd8z
* Admins can delete scratches & preset migration
* bye, source presets
* fixes & changes
* Preset in admin panel & rename migration
* mypy
* Fix perset viewset & tests
* Change compilers hash files
* test annotations so Windows doesn't run them
* Mark nits
* Preset auto ID field
* scratch as reference (1/?)
* backend fixes to preset (2/3)
* Use preset ID instead of name in frontend
* update frogger preset
* I broke one of the ten commandments of react
* finishing touches (3/3 lol)
* Update serializers.py
* Add script to download libraries, and download directx
* Add libraries endpoint
* Allow compiling with a library
* Add new libraries tab in frontend
* Add libraries support in CI
* Better look for the libraries
* Give pretty names to libraries
* Move Libraries to live under CompilerOpts
* typechecking hackery
* Make libraries trigger autorecomp and set the unsaved flag
* Fix libraryVersions
* Add new libraries download script to CI, docker and docs
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Switch to subprocess.run for timeouts
* [experiment] Set CI TIMEOUT_SCALE_FACTOR to 1
* supress parameterized.expand error in event of no compilers, change TIMEOUT_SCALE_FACTOR in CI to 2
* Exempt dummy compilers from nsjail bind mounts, disable nsjail time limits
* Don't run timeout test on windows
* Decouple test_compiler_timeout's timeout from global timeout settings, reset TIMEOUT_SCALE_FACTOR to 10
* Have DummyLongRunningCompiler subclass DummyCompiler
* Have a timeout of zero disable timeouts entirely
* Skip test_zero_timeout on windows
* black
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
* Force exception_on_timeout to use spawn to make gunicorn happy
* black
* Have test_fpr_reg_names_output and test_giant_compilation test for success as opposed to a lack of output
* Refactor timeouts for:
- compiling
- decompiling
- assembling
- disassembling
* Move m2c timeout wrapper to prevent interfering with StringIO
* Increase default timeouts by an order of magnitude to investigate failing CI tests
* Add timeout scale factor, have CI timeouts be 10x default
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
* Add 4 minimal IDOs and a "language" compiler flag
* Update recomp version
* Add compilers to list and json
* Add presets and remove alphabetical sorting
* Remove extra C IDOs
* Convert language to an enum
* get_file_extension function
* Review
* Proper Pascal test
* Auto-imports grr...