SoarGroup / Soar

Soar, a general cognitive architecture for systems that exhibit intelligent behavior.
http://soar.eecs.umich.edu
Other
331 stars 71 forks source link

[Python] Windows version testing is not included in `test_python` #470

Closed ShadowJonathan closed 3 months ago

ShadowJonathan commented 4 months ago

Apparently I forgot to include this in #461

We've had reports of people being unable to import soar_sml during the workshop, and while looking for possible issue sources, I spotted this massive oversight 🤦

ShadowJonathan commented 4 months ago

Alright, even though https://github.com/actions/runner-images/issues/9959 is as helpful to this issue as the evergreen was to the suez canal, I found the problem that comes up when adding testing;

https://github.com/ShadowJonathan/Soar/actions/runs/9291866988/job/25571809836 shows an odd error;

ImportError: Module use of python39.dll conflicts with this version of Python.

While python versions >=3.8 show an unhelpful error message ("The specified module could not be found."), this is giving me a clue that windows wheels are being incorrectly built against python 3.9's DLLs, which shouldn't be the case.

I think I encountered this issue in another form/way in #448, where I had to wrangle windows into properly seeing the right dll/library to build against, but not to link against.


There's another issue which is going to make CI fail, which is highlighted in this run

Traceback (most recent call last):
  File "D:\a\Soar\Soar\Core\ClientSMLSWIG\Python\TestPythonSML.py", line 91, in <module>
    print('\u2705 Kernel creation succeeded')
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2705' in position 0: character maps to <undefined>

Here it is correctly running the test file, but it chokes on that line, due to not being able to print an emoji... :/