vexx32 / PSKoans

A simple, fun, and interactive way to learn the PowerShell language through Pester unit testing.
GNU General Public License v3.0
1.72k stars 176 forks source link

Adds draft caching mechanism #461

Open indented-automation opened 3 years ago

indented-automation commented 3 years ago

PR Summary

Fixes #457

Context

This potentially fixes issue 457 by adding a caching mechanism. When a koan is evaluated for the first time the results of that evaluation are cached (as clixml). Clixml is used to attempt to ensure that error messages are presented in the same manner as a direct run.

This update changes the execution time of Measure-Karma to a fairly static value of around 2000ms which flucuates only based on the current in-progress topic.

Cached results are stored in ~\config\PSKoans\cache.

Changes

Checklist

indented-automation commented 3 years ago

So the test run... My new tests work locally when I force-load Pester 5.0.2 to ensure everything is nicely lined up.

Several of the sanity tests still fail though. They're a bit incompatible with latest versions of Pester 5 right now.

A few of the tests are actually acting out changes. For instance I get Show-Advice pushed into my profile script no matter what.

Would you like me to fix these things?

vexx32 commented 3 years ago

If you have time to sort them out, please feel free 😅

I've been meaning to sort them out for a long time, but I haven't had the time/energy. 😔