-
Notifications
You must be signed in to change notification settings - Fork 44
Software Engineering Principles in Robotics
I generally recommended using proper git workflow, in particular once you get to develop larger projects. We will learn about forking, pulling, merging, and testing
You may find the official GitHub Desktop Client useful for you daily work, but also learn the command line tools!. To install the unofficial build for Linux, execute this script, then launch it with the (very inaptly named) command desktop.
Make sure you look at the useful resources for today's session.
If you don't have a github account and you don't want one, you can work locally with a git repository! Some parts of the tasks, however require interaction with the a server.
Look at https://guides.github.com/introduction/git-handbook/ and Find the Section "Example: Start a new repository and publish it to GitHub" (you may skip this if you had already done this)
- Do those steps to put your source code into a remote GitHub (public) repository that you created.
- Team up with somebody else, can
git clonetheir respective repository. - Each of you edit some files in your local own repository and discuss how the other one can get them.
- Fork https://github.com/LCAS/CMP9767M into your own github account (if you haven't done so yet), then clone on your computer
- create a new branch from the
masterbranch, named e.g.week_11and make sure you are working in that branch (how can you check?) - create and commit a file
mytest.txtin branchweek_11with content:this is some text I include in this file - check out branch
masteragain (where did your file go?) - check out a new branch
week_11_sidetrackbased onmaster - create and commit again a file
mytest.txtin branchweek_11_sidetrackwith content:this is some MORE text I include in this file - check out
week_11again - merge
week_11_sidetrackintoweek_11(you'll have a conflict to resolve)
... and at the end of today, make sure you have it on github! Or wherever you host your code.
- Clone your fork of the CMP9767M repository locally
- Pull in the changes from upstream, i.e., pull from https://github.com/LCAS/CMP9767M.git (research how to do it, e.g. read this )
- Run the
simple-test.pyand understand what it does - Run the
testme.testROS test
- Look at https://github.com/steup/Ros-Test-Example/tree/master/src/python_test and understand it
- Look at https://github.com/LCAS/CMP9767M/tree/master/uol_cmp9767m_base/tests and understand it
- Based on [
testme.test] extend it with a test that checks thesprayerworks (i.e. the service call succeeds)