Week 5

TedLawson
Published: 07/05/2023

Accomplishments:

This week I continued my work on the archiver folder, and had a couple meetings with my mentor, Manu, to discuss the progress and where to go from here. I was able to complete the conversion of the ArchiverTestCaseBase to pytest by splitting it into helper functions and pytest fixtures, improving on the foundation that I had begun last week. Additionally, I was able to convert half of the tests in the archiver folder to use the new foundation, and I split up the PR's into more manageable sizes such that my other mentor, Thomas, would have an easier time looking through and reviewing the test files. 

Challenges:

The biggest challenge I faced this week was deciding the best way to separate the old ArchiverTestCaseBase into helper functions and pytest fixtures. The approach Manu and I decided on was the path of least change - removing the helper functions from the unittest class but keeping them in the archiver folder `__init__` , and moving the setup and teardown functions into `conftest` as pytest fixtures. Once me and my mentor agreed on the foundation, it was easy to make progress.

The week ahead:

This week, I will finish converting the archiver folder of tests. I have 18 more test files to go, but since the foundation has been set it it just quick work to get them converted one at a time. For each test file, I am running them using the current unittest framework and recording the number of tests, how many pass or get skipped, and the execution time. I am then converting the tests to the new pytest framework and recording the same data to ensure consistency in test completion, as well as to see if there are any improvements in execution time. My goal by the end of the week is to have a completed archiver folder of tests that is all put into one PR and passes the Borg CI tests. This is a lofty goal, but I am confident I can grind it out!

Tune in next week to see how the goals turned out! Thank you for taking the time to read my updates, and have an excellent week!

 

DJDT

Versions

Time

Settings from gsoc.settings

Headers

Request

SQL queries from 1 connection

Static files (2312 found, 3 used)

Templates (11 rendered)

Cache calls from 1 backend

Signals

Log messages