During this season of giving, you can show your support for the NTP Project by making a donation to Network Time Foundation.

GSoC 2015 Testing - Damir Tomic

Summary

Related Items:

Tasks

  • learning the basics of Unity test framework
    • understanding how to build tests
    • learning how to autogenerate test runners (equivalent of tests-main.cpp in Google test)
    • understanding Unity source code
  • editing Unity test framework
    • changing output format to a more understandable one
    • adding support for XFAIL and XPASS (currently calling it Custom Unity)
    • modifying existing Ruby script which generates testRunner.c, a file which calls all tests.
  • converting tests from Google test framework to Unity test framework
    • learning the differences between two frameworks
    • solving problems related to makefiles and includes
    • solving include issues which only appear on psp-at1 and psp-fb1 (not on psp-db1 however)
  • modifiying Makefile.am in /tests/libntp/
    • expanding knowlege about makefiles
    • changing Makefile.am so it runs both old google tests and the new ones, automatically (working together with Harlan Stenn)
  • teaching, learning with and from other GSoC students
  • converting all remaning Google test framework tests
    • tests/ntpd
    • sntp/tests/
  • updated the unity dir, after Mark's improvements to Unity
    • function declarations and definitions in the same test caused the ruby generator to call every function twice instead of once
    • Mark's update to the Ruby generator script fixed this, allowing us to add function declarations and avoid compiler warnings.
    • reduced the number of warnings in existing unity tests
  • Improved some Makefile.am by removing unnecessary CFLAGs and LDADDs
    • All traces of GTEST were removed by Harlan
  • writing new tests (complete list of tests can be found : https://docs.google.com/spreadsheets/d/1SMgPttGH_ySujPUp4ap7IDKlIM97c_Xb7GUngJucrJw/ )
    • tests/ntpd
    • tests/ntpq
  • doing a minor fix in sntp/log.c after writing a test for it
  • assisted in fixing bug 2892
  • figuring out how to use CMock
    • CMock may not be the best tool for NTP to use, as it mocks the entire .c|h file.
    • CMOCK uses a Ruby script to generate mockfoo.c|h from foo.h.
  • learning how to manually mock / stub functions
    • tests include foo.c, and link the necessary .o files. That way, static functions can be tested as well
    • good examples are tests t-ntp_scanner.c and t-ntp_signd.c (in tests/ntpd)
  • fixed bug 2898
  • Cleaning up code, improvements to existing tests, finalizing documentation, doing code rewivews, discussing...

Timeline

Date Task Description % Done
04-27
Community Bonding
Students get to know mentors, read documentation, get up to speed to begin working on their projects.
choice-yes
05-25
Coding Begins
Students begin coding for their GSoC projects
 
06-26
BO Midterm Evals
Mentors and students can begin submitting mid-term evaluations.
 
07-03
EO Midterm Evals
Mid-term evaluations deadline.
 
08-17
Wrap-up
Suggested "Pencils Down" date. Take a week to scrub code, write tests, improve documentation, etc.
 
08-21
Firm "Pencils Down"
Mentors, students and organization administrators can begin submitting final evaluations to Google.
 
08-28
Final Evaluation
Final Evaluations Deadline
 
08-28
Code Samples
Students begin uploading code samples
 
08-31
Final Results
Final Results Announced
 

Discussion and Comments

 

-- RahulKumar - 2015-05-04
Topic revision: r7 - 30 Sep 2022, DruLavigne
Copyright © by the contributing authors.Use of this website indicates your agreement with, and acceptance of, the PrivacyPolicy, the WikiDisclaimer, and the PrivateWebPolicy.