maxitg / SetReplace

C++/Wolfram Language package for exploring set and graph rewriting systems
MIT License
219 stars 44 forks source link

Test that "GeneralUtilities`" doesn't need to be manually imported before "SetReplace`" #493

Open maxitg opened 3 years ago

maxitg commented 3 years ago

The problem

It's possible it's already done, but we need to make sure that if the user imports "SetReplace`" but not "GeneralUtilities`" it still works.

That is, if we forget to PackageImport["GeneralUtilities`"] in one of the files, we need to make sure CI catches that. Given that the test script might be using "GeneralUtilities`" as well, it might cause it to be missed (but we need to check).

Possible solution

If importing "GeneralUtilities`" in the test script changes the behavior, we might want to avoid using it in tests altogether.

Additional context

There was an issue on a user's machine where after updating to SetReplace after the ModuleScope PR, WolframModelPlot did not work retuning unevaluated SetReplace`WolframModelPlot `PackagePrivate`ModuleScope as if "GeneralUtilities`" was not imported during the loading of SetReplace. I could not reproduce the issue, however. It is possible the user did not restart the kernel after updating, but I cannot reproduce it even if doing that.