I completely forgot about pyo files and the tests are usually not run with -O. The modified code checks for *.py?
os.remove(source)
del sys.modules[TESTFN]
mod = __import__(TESTFN)
- self.failUnless(mod.__file__.endswith('.pyc'))
+ ext = mod.__file__[-4:]
+ self.failUnless(ext in ('.pyc', '.pyo'), ext)
finally:
sys.path.pop(0)
remove_files(TESTFN)
}
len = strlen(file);
- if (len > MAXPATHLEN || PyOS_stricmp(&file[len-4], ".pyc") != 0) {
+ /* match '*.py?' */
+ if (len > MAXPATHLEN || PyOS_strnicmp(&file[len-4], ".py", 3) != 0) {
return PyUnicode_DecodeFSDefault(file);
}