lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 29 August 2016 at 02:57, tyrondis <tyrondis@icloud.com> wrote:
 
Having a great coverage of unit tests would be a great start, however, it is a bit difficult with Corona, as most of its APIs (Graphics, Audio, etc.) are only available inside the embedded system and I do not want to mock everything.

Snabb (https://github.com/snabbco/snabb) is some tens of KLOC of Lua (LuaJIT) code. This is very hardware-dependent and low-level e.g. network card device drivers and performance sensitive code that is optimized for specific CPU models. Our approach is to run tests in a Continuous Integration lab that has all of the relevant hardware available.

These days our full performance test suite takes around one week of machine time to run and presents statistics on ~50,000 separate benchmark runs. Currently we have around 20 servers in our CI farm to achieve reasonable test throughput for a monthly release cycle.

Our setup is based on the Nix/NixOS/Hydra ecosystem (http://nixos.org/).

This is all very much a work in progress but if you are interested then here are examples of how we are using it so far:

https://github.com/snabbco/snabb/issues/976
https://github.com/snabbco/snabb/pull/1001

Cheers,
-Luke