What a difference a year can make; after a couple consecutive years of pandemic-related uncertainties, the world has finally turned the page. And as we kick off 2023, the team at Sylabs couldn’t be prouder of all the progress we made with everything from new offerings...
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!
Join Our Mailing List
Bills of materials or BOMs are nothing new, but they are new in the software industry. They have been part of many supply chains for decades. When you purchase a car or a pharmaceutical device, the manufacturer of those products maintains a list of...
There are many different approaches that can be taken when building software. At one end of the spectrum is the extreme caution and conservatism that’s appropriate, for example, of safety critical code used in vehicles or in real-time operating systems. At the other...