Expose DSL compiler test helper as a reusable unit #788
+188
−324
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
We currently have too much magic inside the
DslSpec
test superclass which makes it hard for other projects to write tests for their own DSL compilers, and it also makes it hard to understand what is going on inside that superclass as well.Implementation
Extract logic to a reusable module that should work independently of the testing framework used. This module provides helper methods to setup DSL compiler under test and possibly collaborating DSL compilers that should also be activated. Moreover it provides convenience methods like
rbi_for
andgathered_constants
that tests can use for assertions.While I was refactoring tests, I also took the opportunity to make sure our "no errors raised" assertions didn't end up being intrusive across the whole test suite.
Tests
No new tests.