Dear all.

Let me propose to include Stackless Python into EDK2 repository.

The current EDK2 repository has Python-2.7.2 and Python-2.7.10.
I hope that it also includes Stackless Python 2.7.9.

I have already ported Stackless Python to EDK2 in my repository.
https://github.com/masamitsu-murase/edk2_for_mruby/tree/stackless_python279_release

I hope that someone tells me the next step.
What should I do in order that EDK2 repository includes Stackless Python?


Let me explain about my motivation and background.

Stackless Python is compatible with the normal Python.
Additionally, it has some powerful features, such as "tasklet".
https://bitbucket.org/stackless-dev/stackless/wiki/Home
http://stackless.readthedocs.io/en/latest/library/stackless/tasklets.html

Based on this unique feature, I developed a library, "Pausable Unittest",
so that we can write a test scenario for power cycling very easily.
https://github.com/masamitsu-murase/pausable_unittest

I believe that Stackless Python and my Pausable Unittest library is useful
for EFI developers, so I hope that EDK2 repository includes Stackless
Python.


Let me show an example to measure reboot speed on EFI Shell.
Please check demonstration in YouTube, which reboots the system 3 times on
VirtualBox EFI Shell.
https://youtu.be/gb7-UKnkjrM

#========================================
# sample.py
import pausable_unittest
import pausable_unittest.efipauser

import time

class Sample(pausable_unittest.TestCase):
def test_reboot(self):
# Get current time.
start = time.time()
# Reboot the system.
self.reboot() # (*1)
end = time.time() # (*2)

self.assertLess(end - start, 8) # (*3)

if __name__ == "__main__":
pausable_unittest.main(pausable_unittest.efipauser.Pauser())
#========================================

Run as follows:
> StacklessPython279.efi sample.py

The script reboots the system at (*1).
Pausable Unittest library saves all variables, such as "start", then
reboots the system.
After rebooting the system, the Python interpreter resumes the script from
(*2).
We can refer to "start" variable at (*3) though it was created before the
reboot.

If you have any feedback, let me know, please.

If my post is not appropriate for this mailing list, please forgive my
rudeness.

Regards,
Masamitsu Murase
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to