Increasing Software Testing Coverage and Portability with Spack

Jonathan Rood, Shreyas Ananthan

Research output: NRELPoster


Adequate testing coverage is critical for successful scientific software development. For numerically intensive codes, the test matrix should cover a variety of machines, compilers, third-party library dependencies, as well as possible other features such as memory testing, parallelization paradigms, and application options that may be enabled or disabled, as some examples. Such coverage can be a major burden on developers without powerful methods for managing the matrix. Spack is a great tool developed by Lawrence Livermore National Lab for managing software on a Unix-based system and in addition to this, we are leveraging Spack to simplify application testing development and management. Here we demonstrate exploiting many of Spack's features to orchestrate the test coverage for the Nalu-Wind application we are developing under the Exascale Computing Project. By using Spack underneath our testing infrastructure, we have increased our testing coverage, portability, robustness, and software quality. While we use our Nalu-Wind application as an example, the benefits of exploiting Spack for application testing can be had for other applications as well.
Original languageAmerican English
StatePublished - 2019

Publication series

NamePresented at SIAM Conference on Computational Science and Engineering (CSE19), 25 February - 1 March 2019, Spokane, Washington

NREL Publication Number

  • NREL/PO-2C00-73335


  • software engineering
  • software quality assurance
  • software testing


Dive into the research topics of 'Increasing Software Testing Coverage and Portability with Spack'. Together they form a unique fingerprint.

Cite this