Make FeatureFlags accessible to hosts
At present, a host can't modify the feature flags. They should be able to. For example, I'd like to be able to `FeatureFlags.StringInterpolation = true;` when instancing a new engine in the ConeoleREPL sample, to test out this feature without needing to build the libraries.
For extra protection - make flags only settable once.
Hosts should only use feature flags to try experimental features.
* initial commit
* fix tests to use new error message
* added separate error message
* address comments, add tests
* update tests for new error message
* Top level display names with Resolver support
* Collision checks
* collision test
* Remove dictionary access to symbols
* remove internal environmentsymbol access
Add static analysis (via reflection) tests to look for mutable static fields - these could cause issues for multi-threading scenarios.
This adds new tests, which includes exceptions for current suspicious behavior. Follow items to address these.
It looks like it would be safe to have a recalc engines per thread, running independent.
* Coercing only OptionSetValues to boolean for CountIf and LookUp
* Changed logic, updated test
* Added HasPreciseErrors to CountIf and updated unit tests
* Added HasPreciseErrors to LookUp
* Updated unit test
* Add index function
* remove duplicate resources
* unit tests
* add to recalcengine, change texl runtime name for index_UO
* more test coverage
* add suggested tests/changes
* add function back to recalc engine
* Implement Error function, pass scope params to IfError
* Updated expected error values to validate the error kind
* Updated base runner to wait in a loop if under debugger
.txt updates
1. Better factoring of .txt to remove *all per-engine exception* in the .txt cases. Use overrides instead.
2. Remove .txt engine parsing support.
3. Update interpreter to use overrides.
"just" test updates for .txt runner, no product changes.
1. Move away from /*engine*/ model and allow backend overrides, using #override and #disable directives. Will remove engines in the future once we migrate.
2. Fix some copy&paste bloat and properly share.
- Factor to have the TxtFileDataAttribute (used for Xunit runner) share the .txt parser with existing TestRunner class.
- shared pass/fail/skip logic across runners
3. We now get test failure errors for timeouts (before test run hangs)
4. We now get test failures if there's a parse error or duplicate tests in the .txt. (Enable some tests, called out by https://github.com/microsoft/Power-Fx/pull/184)
5. improved commenting for how to debug the Xunit integration.
6. Applies these to the interpreter.
This has a breaking change to the BaseRunner contract.
* Pick up built in functions left behind in the split
* Resources, and make lint happy
* pr feedback
* Nit
* Optionset impl
* Add isblankorerror impl, tests
Remove 2.1 from tests. This isn't supported anymore and tests don't run if it isn't installed.
See https://dotnet.microsoft.com/en-us/download/dotnet/2.1
Test still run against 3.1.
Nunit bug is that InlineData in strings need to have balanced quotes.
Update test case. This shouldn't lose coverage since the quote comes after the intellisense cursor.