TL;DR: Appropriate infrastructure is required to test complex CGO projects like Singularity; Eduardo Arango’s work-in-progress update from SUG is shared here.
SUG Series Introduction
The inaugural meeting of the Singularity User Group (SUG) was held March 12-13, 2019, at the San Diego Supercomputer Center (SDSC). The event attracted diverse representation from the international advanced computing community as conveyed through the post-event press release issued jointly by SDSC and Sylabs.
Over the course of the two-day event, over 20 talks were presented by members of the Singularity user, developer, and provider community. Because SUG generated a significant amount of interest, even from those who were unable to attend, we are sharing online each of the talks presented.
SUG Talk Introduction
On balance, the reimplementation of the Singularity core in a combination of the C and Go programming languages has largely resulted in opportunities. For example, this reimplementation has eased the integration between Singularity and Kubernetes. In parallel, however, this substantial undertaking has also resulted in challenges in software testing. In his talk from SUG, Sylabs’ software engineer Eduardo Arango provides an update on the work he’s involved in, by placing emphasis on the infrastructure necessary to test Singularity.
The abstract for Eduardo’s contributed talk entitled Building a Testing Infrastructure for Singularity – a Complex CGO Project is as follows:
After a major project re-write from a code base Bash/Python/C to CGO, our team faced a new and interesting challenge, building a test suite in Go. As a team we decided that moving away from bash scripts to a formal language will give us better reproducibility, more test complexity (test tables), mock services, and std libraries for config files and crypto keys. This talk will share the experience of building a test infrastructure for a CGO, and will highlight the challenges we faced, and how we overcome them with Go std libraries and Go test tools.
Eduardo’s talk from SUG can be found below and here. Enjoy!
P.S. We’ll have a significant update on this topic to share soon. Stay tuned!