OPNsense
  • Home
  • Help
  • Search
  • Login
  • Register

  • OPNsense Forum »
  • English Forums »
  • Development and Code Review (Moderator: fabian) »
  • About the testing of OPNsense
« previous next »
  • Print
Pages: [1]

Author Topic: About the testing of OPNsense  (Read 5531 times)

thowe

  • Jr. Member
  • **
  • Posts: 91
  • Karma: 11
  • Open Source can do a lot.
    • View Profile
About the testing of OPNsense
« on: September 23, 2017, 04:53:16 pm »
Hello everybody,

first of all: many thanks to all of you contributing to OPNsense. I am impressed how clean and logical everything is presented. Really a great UI and functionality!

I am currently evaluating a firewall for my home installation. The most important things for a firewall to me are: 1. security and 2. reliabilty.

I am software engineer and like build and test automation a lot. One thing I asked myself is: how are releases of OPNsense built and tested? I could not find anything about the testing process. Is there some kind of an automated build and testing process? Maybe someone can give some insights.

Thanks & kind regards,
Tom
Logged
System 1: PC Engines APU2C4
System 2: PC Engines APU2E4
System 3: Proxmox-VM on Intel NUC

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17707
  • Karma: 1618
    • View Profile
Re: About the testing of OPNsense
« Reply #1 on: September 23, 2017, 05:47:13 pm »
Hi Tom,

Packages are built on a nightly basis, see

https://github.com/opnsense/tools/blob/master/scripts/nightly.sh

Into that script we also weave the test suite, which is a conglomerate of sanity checks, integrity checks, syntax checks and unit tests:

https://github.com/opnsense/tools/blob/master/build/test.sh

You can find the unit test framework here:

https://github.com/opnsense/core/tree/master/src/opnsense/mvc/tests

New features and reworks are staged on the development (master) branch and we create new stable branches (e.g. stable/17.7) for each major release from said master branch (twice a year). During the minor releases we cherry-pick changes after they have been buffered in the master branch for at least a week unless the fixes are more critical or receive direct field testing.

To improve testing of patches, packages and releases we also wrote a few tools that make reverts possible or pull code from github directly, install custom kernels, etc. There is also a crash reporter to submit PHP errors and kernel crashes directly to us, or leave a note and contact data in case a hard to find issue is at hand.

https://github.com/opnsense/update#opnsense-update-utilities

The tests aren't perfect and can certainly be enhanced into many directions. But it will also keep contributions from being merged or new features being developed. It's a trade off we try to manage.

If you want to know more please let me know. :)


Cheers,
Franco
Logged

  • Print
Pages: [1]
« previous next »
  • OPNsense Forum »
  • English Forums »
  • Development and Code Review (Moderator: fabian) »
  • About the testing of OPNsense
 

OPNsense is an OSS project © Deciso B.V. 2015 - 2024 All rights reserved
  • SMF 2.0.19 | SMF © 2021, Simple Machines
    Privacy Policy
    | XHTML | RSS | WAP2