Dollarg 2009: Difference between revisions

From VrlWiki
Jump to navigation Jump to search
Jadrian Miles (talk | contribs)
 
(7 intermediate revisions by 2 users not shown)
Line 3: Line 3:
== Setting Environment Variables for your User Account ==
== Setting Environment Variables for your User Account ==


Edit your ~/.cshrc file and add the lines:
Edit your ~/.environment file and add the lines:


<pre>
<pre>
setenv GROOT /map/gfx0
setenvvar GROOT /map/gfx0
source $GROOT/tools/gfxtools-startup-csh
setenvvar CVSROOT /map/gfx0/cvsroot
</pre>
 
If you use C-shell, edit your .cshrc and add somewhere below the <code>sourcefile $HOME/.environment</code> line:
 
<pre>
sourcefile $GROOT/tools/gfxtools-startup-csh
</pre>
 
If you use Bash, edit your .bashrc and add somewhere below the <code>sourcefile $HOME/.environment</code> line:


setenv CVSROOT /map/gfx0/cvsroot
<pre>
sourcefile $GROOT/tools/gfxtools-startup-bash
</pre>
</pre>
Remember that your environment variables will not be updated immediately; only newly-opened shells will get them, so close your current shell and open a new one.  You can check that everything worked by entering
<pre>
echo $G
</pre>
If you get non-error output, then you're all set.


== Checking out a project ==
== Checking out a project ==


$G uses CVS for source control and you can read more about it [http://www.nongnu.org/cvs/ here].
$G uses CVS for source control and you can read more about it [http://www.nongnu.org/cvs/ on its official site] or [[w:Concurrent Versions System|on Wikipedia]].


You can work anywhere except under the $G directory.
You can work anywhere except under the $G directory.
Line 39: Line 57:


<pre>
<pre>
cd /map/gfx0/users/foo/project/wrist
  > cd /map/gfx0/users/foo/project/wrist
make all
  > make all
</pre>
</pre>
By convention simple projects that build a single program or library can be built just by typing "make".


== Creating a "test" for a project ==
== Creating a "test" for a project ==
Line 47: Line 67:
Testing is helpful to find bugs, detect problems discovered by system upgrades, and to help make sure projects are working on a daily basis.
Testing is helpful to find bugs, detect problems discovered by system upgrades, and to help make sure projects are working on a daily basis.


To add a test to your project, create a "test" target in the Makefile.
Each project should contain a simple smoke test with the target name "test".
 
It should ensure basic functionality and run reasonably fast.
For example, to run a test for the wrist project you could type:
For example, to run the test for the wrist project you would type:


<pre>
<pre>
cd /map/gfx0/users/foo/project/wrist
  > cd /map/gfx0/users/foo/project/wrist
make test
  > make test
</pre>
</pre>


''Note to doc authors: what if a project wants more than one test?''
Projects can include additional tests.
By convention the make target should be named with a prefix, "test" (e.g. testmore).
 
[[Category:$G]][[Category:Software Development]][[Category:IT Tools]][[Category:$G HOWTO]]

Latest revision as of 18:24, 9 December 2009

Getting Started with $G - January 2009

Setting Environment Variables for your User Account

Edit your ~/.environment file and add the lines:

setenvvar GROOT /map/gfx0
setenvvar CVSROOT /map/gfx0/cvsroot

If you use C-shell, edit your .cshrc and add somewhere below the sourcefile $HOME/.environment line:

sourcefile $GROOT/tools/gfxtools-startup-csh

If you use Bash, edit your .bashrc and add somewhere below the sourcefile $HOME/.environment line:

sourcefile $GROOT/tools/gfxtools-startup-bash

Remember that your environment variables will not be updated immediately; only newly-opened shells will get them, so close your current shell and open a new one. You can check that everything worked by entering

echo $G

If you get non-error output, then you're all set.

Checking out a project

$G uses CVS for source control and you can read more about it on its official site or on Wikipedia.

You can work anywhere except under the $G directory. At Brown ample disk space has been allocated here for students:

   /map/gfx0/users/$USER

So, for example, if your user id is "goo" and you wanted to check out the "wrist" project, you should type:

   > mkdir  /map/gfx0/users/goo
   > cd     /map/gfx0/users/goo
   > cvs  co  project/wrist        # Creates:  /map/gfx0/users/goo/project/wrist/...

Please do not waste space and retain only the files you need. When you are done with your account please be sure to delete it.

Building a project

Type "make all" to build a project. Continuing the wrist project example from above, you would type:

   > cd  /map/gfx0/users/foo/project/wrist
   > make  all

By convention simple projects that build a single program or library can be built just by typing "make".

Creating a "test" for a project

Testing is helpful to find bugs, detect problems discovered by system upgrades, and to help make sure projects are working on a daily basis.

Each project should contain a simple smoke test with the target name "test". It should ensure basic functionality and run reasonably fast. For example, to run the test for the wrist project you would type:

   > cd  /map/gfx0/users/foo/project/wrist
   > make  test

Projects can include additional tests. By convention the make target should be named with a prefix, "test" (e.g. testmore).