[ET Trac] [Einstein Toolkit] #759: No helpful error messages if soucebasedir points to a non Cactus sources directory

Einstein Toolkit trac-noreply at einsteintoolkit.org
Tue Feb 28 03:49:58 CST 2012


#759: No helpful  error messages if soucebasedir points to a non  Cactus sources
directory
-------------------------+--------------------------------------------------
  Reporter:  alibeck     |       Owner:  eschnett
      Type:  defect      |      Status:  new     
  Priority:  major       |   Milestone:          
 Component:  SimFactory  |     Version:          
Resolution:              |    Keywords:          
-------------------------+--------------------------------------------------

Comment (by alibeck):

 The primary problem occurs in def GetDirSuffix. This function checks,
 whether any given path name for sourcebasedir matches the directory where
 simfactory was invoked from. For instance, if you call simfactory from
 "/home/user/programs/Cactus", and your sourcebasedir path name is
 "/home/user/programs" or even only "/home/user/" GetDirSuffix will not
 fail, and return the part of the path name of the directory from which one
 has called simfactory, which is not represented by the given
 sourcebasedir. In the examples above this would be "Cactus" or
 "programs/Cactus".

 The calling function of GetDirSuffix is "create" in simrestart. After
 calling GetDirsuffix it constructs the sourcebasedir by calling

   sourcedir = simlib.BuildPath(localsourcebasedir, dirsuffix)

 In the examples above then the sourcedir would be
 "/home/user/programs/Cactus", because the dirsuffix is either
 "programs/Cactus" or only "Cactus". The function simlib.BuildPath is
 containing the call

  return os.sep.join(args)

 which is giving the final error message, if one of the args is of type
 None.


 This is what is happening. The problem can be fixed easily by adding in
 GetDirSuffix or in create a helping error message and exit simfactory,
 here we have all the control of the given path names. However, and here I
 want to have a discussion, we should decide in front of this fix whether
 it is really necessary to give the sourcebasedir as a part of the
 directory where the simfactory call has been entered. What about separate
 pathes for simfactory and cactus sources? Another point I want to make
 here: does it really make sense to give "/home" as sourcebasedir, and then
 simfactory does its job? I feel no. From my point of view a sourcebasedir
 should be the directory which contains the cactus sources (or a directory
 called Cactus). If only "/home" is sufficient, why do we need a
 sourcebasedir for that? This will work on quite a lot of UNIX and Linux
 systems.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/759#comment:1>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list