UbuntuGrok
2579
Comment:
|
2761
|
Deletions are marked like this. | Additions are marked like this. |
Line 28: | Line 28: |
For every change we do to the application we always have to run {{{Viejo/bin/test}}} to check we don't break anything. We could access bin/test from anywhere in our path. For example, if we're inside our project's ftests directory we could call ../../../bin/test and will run all our unit and functional tests. If we only want to run a kind of tests we could call it like this: | For every change we do to the application we always have to run {{{Viejo/bin/test}}} to check we don't break anything. We could access bin/test from anywhere in our path. For example, if we're inside our project's ftests directory we could call ../../../bin/test and it will run all our unit and functional tests. If we only want to run a kind of tests we could call it like this: |
Line 34: | Line 34: |
* bzr status -> it will tell us which files have been changed, deleted or are about to be added to our branch. Always use {{{bzr status}}} before doing a check in. Maybe our local setup works, and we have to make sure launchpad get all the files we want * bzr add <filename> -> Makes bzr knows about our new file |
* bzr co lp:~viejo-team/viejo-code/yagni . -> It will check out our yagni branch inside the current directory * bzr status -> It will tell us which files have been changed, deleted or are about to be added to our branch. Always use {{{bzr status}}} before doing a check in. Maybe our local setup works, and we have to make sure launchpad get all the files we want * bzr add <filename> -> Makes bzr to know about our new file * bzr remove <filename> -> Deletes a file from our project |
This documents the procedure I used to setup a Grok virtual environment for working on the Viejo content management system. Note that as of September 29th, grokproject 0.9 and grok 0.14 work on python2.5. So the easy_install-2.4 can be omitted.
sudo apt-get install build-essential python-dev python-setuptools subversion bzr
sudo easy_install virtualenv
mkdir viejo_virtualenv
cd viejo_virtualenv
virtualenv --no-site-packages virtualgrok
source virtualgrok/bin/activate
easy_install grokproject
grokproject Viejo
cd Viejo
rm -rf setup.py buildout.cfg src
bzr checkout lp:~viejo-team/viejo-code/yagni .
./bin/buildout
./bin/test
Now, we're good to go TDD. The main files and directories of our project are:
setup.py -> Mostly to include packages required for our project to work
buildout.cfg -> Configuration for our instance
src/viejo/models.py -> Stores the models of our application. See the Model-view-controller for more
src/viejo/tests -> Directory to store our unit doctests
src/viejo/tests/models.txt -> Unit doctests for our models.py module
src/viejo/ftests -> Directory to store our functional doctests
src/viejo/ftests/viejo.txt -> Functional doctests for our application
For every change we do to the application we always have to run Viejo/bin/test to check we don't break anything. We could access bin/test from anywhere in our path. For example, if we're inside our project's ftests directory we could call ../../../bin/test and it will run all our unit and functional tests. If we only want to run a kind of tests we could call it like this:
bin/test -u -> It will run only unit doctests inside the src/viejo/tests directory
bin/test -f -> It will run only functional doctests inside the src/viejo/ftests directory
Some useful bzr commands we will need:
bzr co lp:~viejo-team/viejo-code/yagni . -> It will check out our yagni branch inside the current directory
bzr status -> It will tell us which files have been changed, deleted or are about to be added to our branch. Always use bzr status before doing a check in. Maybe our local setup works, and we have to make sure launchpad get all the files we want
bzr add <filename> -> Makes bzr to know about our new file
bzr remove <filename> -> Deletes a file from our project
bzr revert <filename> -> Restore <filename> to be the one we checked out
bzr ci -m "Some descriptive message" -> Checks changes back into launchpad
UbuntuGrok (last edited 2009-02-05 15:36:28 by 158)