/[escript]/trunk/escript/test/SConscript
ViewVC logotype

Log of /trunk/escript/test/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 4507)

Revision 1796 - (view) (annotate) - [select for diffs]
Modified Wed Sep 17 01:45:46 2008 UTC (11 years, 1 month ago) by jfenwick
File length: 1415 byte(s)
Diff to previous 1771
Merged noarrayview branch onto trunk.



Revision 1771 - (view) (annotate) - [select for diffs]
Modified Mon Sep 8 22:47:55 2008 UTC (11 years, 1 month ago) by ksteube
File length: 1413 byte(s)
Diff to previous 1705
Removed failing test until we fix a bug.
Fixed several compiler warnings.


Revision 1705 - (view) (annotate) - [select for diffs]
Modified Thu Aug 14 05:56:40 2008 UTC (11 years, 2 months ago) by ksteube
File length: 1356 byte(s)
Diff to previous 1388
Branch scons-dev is hereby closed.
Some parts of scons scripts have been re-written.


Revision 1388 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 07:45:58 2008 UTC (11 years, 9 months ago) by trankine
File length: 1143 byte(s)
Diff to previous 1387
And get the *(&(*&(* name right

Revision 1387 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 07:45:26 2008 UTC (11 years, 9 months ago) by trankine
Original Path: temp/escript/test/SConscript
File length: 1143 byte(s)
Diff to previous 1384
Restore the trunk that existed before the windows changes were committed to the (now moved to branches) old trunk.

Revision 1384 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 02:29:38 2008 UTC (11 years, 9 months ago) by phornby
Original Path: temp_trunk_copy/escript/test/SConscript
File length: 1143 byte(s)
Diff to previous 1312
Make a temp copy of the trunk before checking in the windows changes



Revision 1312 - (view) (annotate) - [select for diffs]
Modified Mon Sep 24 06:18:44 2007 UTC (12 years ago) by ksteube
File length: 1143 byte(s)
Diff to previous 1246
The MPI branch is hereby closed. All future work should be in trunk.

Previously in revision 1295 I merged the latest changes to trunk into trunk-mpi-branch.
In this revision I copied all files from trunk-mpi-branch over the corresponding
trunk files. I did not use 'svn merge', it was a copy.


Revision 1246 - (view) (annotate) - [select for diffs]
Modified Mon Aug 13 22:09:00 2007 UTC (12 years, 2 months ago) by phornby
File length: 1176 byte(s)
Diff to previous 1235
Add the esys and lib directories to the repository.
Remove the IS_WINDOWS_PLATFORM from the SConscripts, and
do the logic once in SConstruct.
SConstruct now includes example options files if the hostname_options file is not present. 
This needs some more work for the altix.
The tests now depend upon the build target. This is important it seems, as there appears to be the
possibility of calling linking different libraries
against incompatible versions of sub-libraries. 
This addressed most of the exceptions we were getting on windows.
All the useNetCDF logic is now done by SConstruct.
Made the init_target part of the build alias so that __ini__.py is created on a fresh checkout.

py_tests mostly pass on windows, only need to track down the exception in run_tests.

Revision 1235 - (view) (annotate) - [select for diffs]
Modified Mon Aug 13 00:25:29 2007 UTC (12 years, 2 months ago) by phornby
File length: 1374 byte(s)
Diff to previous 1139
Started the removal of IS_WINDOWS_PLATFORM, and now insis that the windows options file be kept up to date, and be complete.

boost_libs -> boost_lib.

Revision 1139 - (view) (annotate) - [select for diffs]
Modified Mon May 14 05:12:53 2007 UTC (12 years, 5 months ago) by ksteube
File length: 1374 byte(s)
Diff to previous 1131
Finished renaming of boost_lib to boost_libs and boost_lib_path to boost_libs_path.


Revision 1131 - (view) (annotate) - [select for diffs]
Modified Tue May 8 05:52:21 2007 UTC (12 years, 5 months ago) by gross
File length: 1372 byte(s)
Diff to previous 700
netcdf c++ interface removed

Revision 700 - (view) (annotate) - [select for diffs]
Modified Thu Apr 6 00:13:40 2006 UTC (13 years, 6 months ago) by gross
File length: 1132 byte(s)
Diff to previous 682
A few changes in the build mechanism and the file structure so scons can build release tar files:

  * paso/src/Solver has been moved to paso/src 
  * all test_.py are now run_.py files and are assumed to be passing python tests. they can run by 
    scons py_tests and are part of the release test set
  * escript/py_src/test_ are moved to escript/test/python and are installed in to the build directory 
    (rather then the PYTHONPATH).
  * all py files in test/python which don't start with run_ or test_ are now 'local_py_tests'. they are installed i
    by not run automatically.
  * CppUnitTest is now treated as a escript module (against previous decisions).
  * scons realse builds nor tar/zip files with relvant source code (src and tests in seperate files)

the python tests don't pass yet due to path problems.



Revision 682 - (view) (annotate) - [select for diffs]
Modified Mon Mar 27 02:43:09 2006 UTC (13 years, 6 months ago) by robwdcock
File length: 725 byte(s)
Copied from: branches/ROBW_XPLATFORM/escript/test/SConscript revision 681
Diff to previous 676
+ NEW BUILD SYSTEM

This commit contains the new build system with cross-platform support.
Most things work are before though you can have more control.

ENVIRONMENT settings have changed:
+ You no longer require LD_LIBRARY_PATH or PYTHONPATH to point to the
esysroot for building and testing performed via scons
+ ACcESS altix users: It is recommended you change your modules to load
the latest intel compiler and other libraries required by boost to match
the setup in svn (you can override). The correct modules are as follows

module load intel_cc.9.0.026
export
MODULEPATH=${MODULEPATH}:/data/raid2/toolspp4/modulefiles/gcc-3.3.6
module load boost/1.33.0/python-2.4.1
module load python/2.4.1
module load numarray/1.3.3



Revision 676 - (view) (annotate) - [select for diffs]
Modified Sun Mar 26 10:13:34 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 725 byte(s)
Diff to previous 670
+ Modified test SConscript dependencies to remove redundant call to explicit dependency
+ Modified scon_extensions.py - run unit tests (py and C++) now use scons::Execute rather than python os.system. This ensures the development environment
is used rather than the users environment to run the tests
+ SConstruct file now sets up LD_LIBRARY_PATH and PYTHONPATH to point to the current builds pyinstall and libinstall paths as required.
IT IS NO LONGER NECESSARY TO SET LD_LIBRARY_PATH and PYTHONPATH to point at your build outputs. Much safer in the presence of multiple checked out builds.
Under these circumstances you are better of using scons to run the tests rather than doing so directly. Easiest way to do this is to build the test output target for the test you want:
e.g. scons build/posix/bruce/test/python/ImportTest.passed
or if you prefer
cd build/posix/bruce/test/python
scons -u ImportTest.passed



Revision 670 - (view) (annotate) - [select for diffs]
Modified Sat Mar 25 14:56:39 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 752 byte(s)
Diff to previous 668
+ Changed include paths to no longer require the cpp suffix (missed in earlier
  commit)
+ modified tests so they no longer install to #/lib


Revision 668 - (view) (annotate) - [select for diffs]
Modified Sat Mar 25 13:27:27 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 994 byte(s)
Diff to previous 667
+ finally figured out why the tests failed when the python extension libs were
  no longer sym links. The original setup for python extension modules was to
  have sym links in the esys/* directories named, for example escriptcpp.so.
  These would link to the actual libraries libescriptcpp.so. The lib*.so would
  link to each other. When you replaced the symlink with a copy of the lib*.so
  but renamed without the lib you would then get problems. In particular,
  py_tests would suddenly start failing.

  The problem appears (I've not been able to find documentary evidence to this
  case) to be that when, for example, you import bruce, brucecpp.so imports
  lib/libescriptcpp.so (which intialises escript python bits), bruce then
  imports escriptcpp.so (which also initialised escript python bits).

  Whether that is exactly correct or not is of interest but the important bit
  is you appear to get two versions. After thinking about this for a bit and
  reviewing a bunch of other examples of working python modules I noticed a
  pattern. NONE of the other examples ever included more than the python
  wrapper code in the python extension library. Instead they just link to
  the pure C++ library. This would avoid the duplicate load.

  So, I've refactored the code. If you consider escript the pattern in now:
  lib/libescript.so - which has all of escript EXCEPT the python escriptcpp.cpp
  esys/escript/escriptcpp.so - which has ONLY the escriptcpp.cpp and links to
                               lib/libescript.so
  
  Run the tests and low and behold they all pass again.

  Q: Why doesn't this problem occur with sym links?
  A: My guess is that python and the dynamic linker take a look at the actual
     absolute python of libraries to determine if its a "different" library.
     I did fine some discussions that seem to suggest this.

  Q: Why can't you just set LD_LIBRARY_PATH==PYTHONPATH and stick all the
     libs in that directory?
  A: I (in fact we, Peter Hornby was there) tried. With the renaming of the
     python module so it doesn't have a lib prefix you get problems with
     getting the shared libraries to be looked up in LD_LIBRARY_PATH. Do
     the opposite and use lib on the python modules and you have problems
     with windows which doesn't prepend the lib. Various combination
     in between were also tried but you end up in a catch 22 situation so far
     as I could tell

  Please if you know more about the ins and outs of python and shared
  libraries let me know if this isn't true. I'd really like to know if my
  guesses are correct. In any event, the fix is more consistent with the
  patterns I've seen

  Phew! this was a long log message, glad it is on a branch!




Revision 667 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 13:25:00 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 997 byte(s)
Diff to previous 666
+ OUCH ARGHH
+ Okay the wizzy linkHack doesn't work. Not sure why but py_tests fail
when the shared library is on the link line directly (without a -l)

+ Unfortunately we can't figure out how to use -l without it prepending
a lib prefix. Hence all the shareable objects in python now need to be
called libblah.so (and lib will need to be prepended on windows!!!!).
This is not the python way and its very annoying. Why do we have this
problem? Because the C++ shared libraries link with each other.



Revision 666 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 11:29:40 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 1047 byte(s)
Diff to previous 661
+ Fix up python esys area:
  + libraries are named without lib prefix on posix platforms (python standard)
  + libraries are now installed into the pyinstall area (python standard)
  + symlinks removed, no longer required
  + LD_LIBRARY_PATH is now optional for PYTHON programs (still required for c++)
+ lib PREFIX removal NOTES:
  + removing the lib prefix is non-standard for the linker. As such we've created a
    custom function sharedLinkHack to specify the .so on the link command line
    (as opposed to using -l<archive> which will prepend the lib). This has a
    a small slight of hand for scons which was being to "helpful". Scons
    verifies that when creating a shared libray all objects specified are
    created shareable (e.g. ensure objects are compiler with -fPIC). Since
    we are linking a .so out of the blue we had to wrap it up in a File note
    and flag it as shared.
    Easily done, once you know how. Thankfully this is all wrapped
    up in a simple function (sharedLinkHack) that looks like ordinary scons so
    you will never know!
    



Revision 661 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 09:13:00 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 997 byte(s)
Diff to previous 652
+py_tests now runs. Be patient, it is all of them!!


Revision 652 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 07:34:18 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 993 byte(s)
Diff to previous 638
+Add py_tests targets and get script ones running


Revision 638 - (view) (annotate) - [select for diffs]
Added Thu Mar 23 13:06:01 2006 UTC (13 years, 6 months ago) by robwdcock
Original Path: branches/ROBW_XPLATFORM/escript/test/SConscript
File length: 908 byte(s)
+Unit tests unified into escript_UnitTest
+SConscript support for build_tests and run_tests


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.26