Jump to content

SoK/2025/StatusReport/Oreoluwa Oluwasina

From KDE Community Wiki

KdeEcoTest Enhancement and finalizing of test scripts.

Project Abstract:

This project aims to improve and expand KdeEcoTest, a tool for simulating and automating the activites of a user in order to measure energy consumption of an application while in use.

Deliverables:

  • Fixing shift coordination
  • Developing comparative energy consumption test scripts of Okular and Adrobe acrobat on linux and windows.

Mentors:

  • Emmanuel Charruau @allon:kde.org,
  • Joseph P. De Veaugh-Geiss @joseph:kde.org


Weekly Progress:

Week 1:

  • Created the target pdf for detecting shift issue
  • Worked on running the KdeEcoTest tool on Emmanuel's repo
  • Had my first meeting with mentors dicussing about the Kde community and the different project and collaborations involved in the community.

Week 2:

  • Tested KdeEcoTest tool on the target pdf with my mentors
  • Identified issues affecting the shift cordination
    • Difference in mouse coordinates when scripts are created and playback
    • Screen position
    • Screen resolution
  • Studied the KdeEcoTest tool codebase and asked questions on some functionalites in the tool like
    • Actions.py
    • Creator.py
    • Runner.py

Week 3:

  • Installed a c++kwin effect mouse spotlight to track mouse coordinates built by the kwin team
  • Presented a KdeECoTestUI prototype to my mentors. This is a buffer to copy from and the final script to past into the text editor kwrite.

Week 4:

  • Built the graphical interface for Kdeecotest named KdeEcoTestUI to make creating and running of final scripts easier using PyQt5.
  • Encountered errors from core/handlers when importing functions from Kdeecotest to the GUI.
  • Tried debugging the error with my mentors and resoluted to seek help in the community.

Week 5:

  • Improved the GUI by adding stacked widget where you can switch interface from create script interface to run script interface.
  • Also added a feature to select a script.txt so as to easily access scripts and run on the GUI.
  • Concluded error from the core/handlers when importing functions is caused by the non-recognition of pynput and uinput.