Network UPS Tools
Power Devices support

Recognizing the critical nature of NUT, the NUT Quality Assurance (NQA) effort has been established to improve NUT where necessary, and to maintain software quality as high as it should be.

NQA is present in many aspects and areas of NUT.


The documentation toolchain uses AsciiDoc to output both HTML pages and manual pages (troff). This single point of control fills many gaps, suppresses many redundancies, and optimizes documentation management in general.

  • The NUT website and HTML documentation are tested for W3C XHTML 1.1 and CSS compliance. This can be counter verified by clicking the W3C XHTML 1.1 and CSS icons, at the bottom of each page.

  • Documentation source files are spell checked, using Aspell, both interactively (using make spellcheck-interactive) and automatically in Buildbot (using make spellcheck).

Note A NUT dictionary is also available (docs/nut.dict), providing a glossary of terms related to power devices and management.

Source code

Use of standards

NUT promotes and uses many standards, such as:

  • the variable names standard used in NUT,

  • the coding rules and best practices for developers,

  • the use of a software architecture limiting developments to the very minimum,

  • the use of standard Free and OpenSource Software components, like:

    • the USB library,

    • the Net SNMP project,

    • the Neon library,

    • the OpenSSL library (to be replaced by NSS, which is more license compliant with NUT and can be FIPS 140 certified),

    • the TCP Wrappers library.

QA tools and metrics

NUT’s quality is constently monitored using many tools, like:

  • a Revision Control System (Git) to track development and ease regression fixes.

  • Buildbot to automate the compile/test cycle. Any build failure is caught early, and fixed quickly.

  • a project portal with trackers for bugs, feature request, patchs and tasks

NUT QA also relies on external tools and trackers, like:

Runtime quality