Skip to content

Instantly share code, notes, and snippets.

@NgesBrian
Created August 22, 2016 11:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NgesBrian/3e4521c0228f6c635e7b69318f38dccb to your computer and use it in GitHub Desktop.
Save NgesBrian/3e4521c0228f6c635e7b69318f38dccb to your computer and use it in GitHub Desktop.
GOOGLE SUMMER OF CODE 2016
ORGANIZATION: APACHE SOFTWARE FOUNDATION
PROJECT: MYNEWT OPERATING SYSTEM
PROJECT TITLE: WHITE BOX AND REGRESSION TESTING ON THE MYNEWT OS.
GSOCCER- NAME : NJUNGLE NGES BRIAN
SCHOOL: UNIVERSITY OF BUEA-CAMEROON- AFRICA
WORK DONE:
The work done include:
I Understood the Functionality of the OS.
I properly Understood the git workflow of the project.
I Understood the internal structure of the OS by understanding the code base.
I Understood the internal structure and features of the BLE (Bluetooth Low Energy) stack controller and host.
I rate documentations on the project, topics related to the testing , study past works from related projects.
I got to Understand my Mentors and the structure of the Mynewt project Organization.
I Understood the Basic test code which was available for the libs/json module and got to improve it.
I Also studied and Understood other already existing test code although I did not improve on them but promise to continue improving on the test code of the Mynewt Project.
Together with the mentors we Identified a set of APIs that needed unit test. Such APIs include :
The Event Queues.
The OS Callouts.
I wrote unit test for event queues and callout.
I Tested for Bugs created due to patch Submission.
UNIT TEST CODE ADDED TO THE JSON:
Encode and Decode all and advanced data types such as integer array type.
Encoding and Decoding of other Array types such as Integer(long long int), unsigned integer (unsigned long long int) , Boolean and Structures.
Testing structures of arrays of all types.
Advance testing of data types.
Testing for bad json.
Testing Negative inputs.
UNIT TEST CODE WRITTEN FOR EVENT QUEUES
event_test_sr() : This test the usability of basic functions of eventq such as os_eventq_init(), os_event_put(), os_event_get.
event_test_poll_sr(): It is use to test for the functioning of os_eventq_poll().
event_test_poll_timeout_sr() : This is use to test the polls and timeouts.
event_test_poll_single_sr(): Test case for polls, timeouts and the test case for poll single.
UNIT TEST CODE WRITTEN FOR CALLOUT
callout_test() : Test case to test the basics of the callout.
callout_test_stop() : Test case to test for the callout_stop and other related functions.
callout_test_speak() : Do some more testing of the the callouts.
LINKS TO WORK DONE
ON DEVELOP:
https://github.com/apache/incubator-mynewt-core/commits/develop?author=NgesBrian
ON MASTER BRANCH:
https://github.com/apache/incubator-mynewt-core/commits?author=NgesBrian
LINK TO PULL REQUEST NOT MERGE BECAUSE OF THE BUGGY NATURE OF THE JSON:
https://github.com/apache/incubator-mynewt-core/pull/60
https://github.com/apache/incubator-mynewt-core/pull/57
WORK LEFT:
Write Unit test for other modules and improving on the already existing test codes.
Performing a risk analyses.
Thanks
Nges Brian
At your Service.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment