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


Related Items:


  • 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...


Date Task Description % Done
Community Bonding
Students get to know mentors, read documentation, get up to speed to begin working on their projects.
Coding Begins
Students begin coding for their GSoC projects
BO Midterm Evals
Mentors and students can begin submitting mid-term evaluations.
EO Midterm Evals
Mid-term evaluations deadline.
Suggested "Pencils Down" date. Take a week to scrub code, write tests, improve documentation, etc.
Firm "Pencils Down"
Mentors, students and organization administrators can begin submitting final evaluations to Google.
Final Evaluation
Final Evaluations Deadline
Code Samples
Students begin uploading code samples
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.