mirror of
https://github.com/iv-org/invidious.git
synced 2025-07-15 18:08:29 +00:00
Isolate static assets handler spec from others
Running `crystal spec` without a file argument essentially produces one big program that combines every single spec file, their imports, and the files that those imports themselves depend on. Most of the types within this combined program will get ignored by the compiler due to a lack of any calls to them from the spec files. But for some types, partially the HTTP module ones, using them within the spec files will suddenly make the compiler enable a bunch of previously ignored code. And those code will suddenly require the presence of additional types, constants, etc. This not only make it annoying for getting the specs working but also makes it difficult to isolate behaviors for testing. The `static_assets_handler_spec.cr` causes this issue and so will be marked as an isolated spec for now. In the future all of the tests should be organized into independent groupings similar to how the Crystal compiler splits their tests into std, compiler, primitives and interpreter.
This commit is contained in:
parent
6c927c89a6
commit
7226a72824
@ -1,4 +1,13 @@
|
||||
{% skip_file if compare_versions(Crystal::VERSION, "1.17.0-dev") < 0 %}
|
||||
# Due to the way that specs are handled this file cannot be run together with
|
||||
# everything else without causing a compile time error that'll be incredibly
|
||||
# annoying to resolve.
|
||||
#
|
||||
# TODO: Create different spec categories that can then be ran through make.
|
||||
# An implementation of this can be seen with the tests for the Crystal compiler itself.
|
||||
#
|
||||
# For now run this with `crystal spec spec/http_server/handlers/static_assets_handler_spec.cr -Drunning_by_self`
|
||||
|
||||
{% skip_file if compare_versions(Crystal::VERSION, "1.17.0-dev") < 0 || !flag?(:running_by_self) %}
|
||||
|
||||
require "http"
|
||||
require "spectator"
|
||||
|
Loading…
Reference in New Issue
Block a user