Saransh Chopra
I am Saransh, a sophomore at the University of Delhi, pursuing a major in Information Technology and Mathematics. In daylight, I work towards my academic skills and professional commitments, and by night, I develop and maintain open-source research software written in Python, which I believe are the key to collaborative and reproducible research. Currently, I develop PyBaMM, BattBot, liionpack, and my contributions range from DeepXDE to Colour. I also like to experiment with Python a lot in the form of projects, which are all available on my GitHub!
Session
Unit testing and code coverage are two essential aspects of an open-source codebase. These unit tests often run in spawned sub-processes or threads as sub-processes or multi-threading allow them to run parallelly. They also make it easier to stop the tests midway if the process is taking too much time (probabilistic tests).
However, running unit tests in a sub-process creates a problem in the local repository as well as in the remote repository. As the documentation of coverage.py
says — “Measuring coverage in those sub-processes can be tricky because you have to modify the code spawning the process to invoke coverage.py.”