Next: , Previous: Tests, Up: Implementation


30.11 Modifications to CONGEN

The following steps should be taken when making a change to CONGEN. They are intended to ensure that the change will be maintained in the future and does not unwittingly affect other program functions.

  1. If you have not already done so, establish a directory of your own for working on the source, and set up a symbolic link to the source RCS directory, $CGS/RCS.
  2. Make your modifications and debug them. Please follow the guidelines in Coding Standards, so that the code will be consistent. Use either make (on Unix systems) or MMS (on VMS systems) to rebuild the program.
  3. Run the standard test case and conformational search test case and compare them. On a Unix machine using the C-shell, do the following:
              cd $CGT
              make test.dif congen.dif
              more test.dif congen.dif
         

    On VMS, do the following:

              $ SET DEFAULT CGT:
              $ MMS TEST.DIF,CONGEN.DIF
              $ TYPE TEST.DIF
              $ TYPE CONGEN.DIF
         

    The files should be identical except for the first four lines, version numbers or locations of files, and the last few lines giving the free list on the heap. If they are different in any other way, you must be able to prove that the results are correct. If you change any commands, the test case must be modified so that it will give the same results as before if possible. If you cannot duplicate the test case, you must eliminate your changes.

  4. Run all the test cases in CGT. Use either make diffs on Unix machines, or MMS DIFFS on VMS machines. Any signigicant changes must be accounted for.
  5. If your modification involves a new feature, you must either modify an existing test or make a new test to demonstrate and check its operation. See Tests, for a description of the tests currently available. If you add a new test, please update that node. WARNING: Any additions made without this will stop working as the entropy of programming randomizes your code without detection.
  6. Checkin your change (using the co command), and enter a good descriptive log entry for what you have done.
  7. If your change involves adding or modifying a command or adding or modifying a feature, modify existing documentation or if none is available, make new documentation. Recreate the INFO file and the manual using the makefile in CGD.
  8. If you modify or add new energy functions, use the TEST command, see Test Command, to verify that the derivatives of your energy calculations are correct.