PreferredTechnologies

Revision 7 as of 2012-04-12 16:36:15

Clear message

Testing

Python

Use pyflakes to check for common errors. Hook this up to your preferred test harness using something akin to the following:

Mock is one of the better mocking libraries and is already used in ubiquity, software-center, and apport.

C

  • valgrind
  • cppcheck:
       1 check:
       2     ...
       3     if type cppcheck >/dev/null 2>&1; then \
       4         cppcheck . --error-exitcode=1; \
       5     fi
    

Performance testing

  • judge runs two commands 50 times and provides the following report:

    ubuntu@server-8149:~$ ./judge/judge ./2281 ./with_changes
    v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
    
        n mean sd min max cmd
       50 10316.2ms 355.7 9945.9 11638.6 ./2281
       50 9867.5ms 625.8 9385.6 13061.3 ./with_changes
     -448.636ms -4.3% p=0.000
    difference is significant at 95.0% confidence (p=0.000):
    based on these samples, suggested sample size is n>=283 to have a 112.16ms confidence interval

cloud infrastructure

cloud-init provides a means to run scripts during the creation of a Canonicloud instance. You can use this to create configurations for the infrastructure you need for a project and rapidly deploy that, either to develop or run tests against. See the code in whoopsie-daisy as an example.