Index: /misc/tools/acceptance_tests/README
===================================================================
--- /misc/tools/acceptance_tests/README	(revision 7655)
+++ /misc/tools/acceptance_tests/README	(revision 7656)
@@ -15,5 +15,5 @@
 contains the python to execute, eg, 'python2.4', etc.
 
-PYTHONPATH
+ANUGAPATH
 contains a single directory path to the ANUGA code.  Something like
 /nas/gemd/georisk_models/inundation/sandpits/rwilson/rwilson/branches/numpy
@@ -30,4 +30,3 @@
    information.
 2. Create a new 'machines_<name>' file in this directory that describes the
-   cluster compute-node setup.  Note that the 'machines_<name>' file  doesn't
-   appear to be used by *anything*.
+   cluster compute-node setup. 
Index: /misc/tools/acceptance_tests/machines_cyclone
===================================================================
--- /misc/tools/acceptance_tests/machines_cyclone	(revision 7655)
+++ /misc/tools/acceptance_tests/machines_cyclone	(revision 7656)
@@ -9,5 +9,5 @@
 compute-1-14 slots=2
 compute-1-13 slots=2
-compute-1-12 slots=2
+#compute-1-12 slots=2
 compute-1-11 slots=2
 compute-1-10 slots=2
Index: /misc/tools/acceptance_tests/machines_tornado
===================================================================
--- /misc/tools/acceptance_tests/machines_tornado	(revision 7655)
+++ /misc/tools/acceptance_tests/machines_tornado	(revision 7656)
@@ -2,5 +2,5 @@
 compute-0-1 cpu=4
 compute-0-2 cpu=4
-compute-0-3 cpu=4
+#compute-0-3 cpu=4
 compute-0-4 cpu=4
 compute-0-5 cpu=4
Index: /misc/tools/acceptance_tests/mandelbrot/README
===================================================================
--- /misc/tools/acceptance_tests/mandelbrot/README	(revision 7655)
+++ /misc/tools/acceptance_tests/mandelbrot/README	(revision 7656)
@@ -11,7 +11,4 @@
 To compile C extensions in this directory
 
-python compile_mandelbrot_extensions.py
-
-or
 python compile.py mandel_ext.c
 python compile.py mandelplot_ext.c
Index: /misc/tools/acceptance_tests/test_all.py
===================================================================
--- /misc/tools/acceptance_tests/test_all.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_all.py	(revision 7656)
@@ -11,5 +11,7 @@
 
 # the test files, in desired order
-Tests = ['test_dump_python_environment.py',
+Tests = ['test_test_all.py',
+         'test_eqrm.py',
+         'test_dump_python_environment.py',
          'test_python_packages.py',
          'test_filesystem_accessibility.py',
@@ -19,8 +21,5 @@
          'test_test_pypar.py',
 #         'test_inter_latency.py',
-         'test_test_all.py',
-         'test_eqrm.py',
         ]
-
 
 if __name__ == '__main__':
@@ -54,13 +53,13 @@
     # make sure environment variables are set
     python = os.getenv('PYTHON')
-    pythonpath = os.getenv('PYTHONPATH')
-    eqrmpath = os.getenv('EQRMPATH')
-    if eqrmpath is None:
-        eqrmpath = ''
-    if not python or not pythonpath:
+    ANUGAPATH = os.getenv('ANUGAPATH')
+    EQRMPATH = os.getenv('EQRMPATH')
+    if EQRMPATH is None:
+        EQRMPATH = ''
+    if not python or not ANUGAPATH:
         if not python:
             util.log_print_nl(logfile, 'Sorry, you must set the PYTHON environment variable.')
-        if not pythonpath:
-            util.log_print_nl(logfile, 'Sorry, you must set the PYTHONPATH environment variable.')
+        if not ANUGAPATH:
+            util.log_print_nl(logfile, 'Sorry, you must set the ANUGAPATH environment variable.')
         sys.exit(10)
 
@@ -71,6 +70,6 @@
     print ''
     print 'PYTHON=%s' % python
-    print 'PYTHONPATH=%s' % pythonpath
-    print 'EQRMPATH=%s' % eqrmpath
+    print 'ANUGAPATH=%s' % ANUGAPATH
+    print 'EQRMPATH=%s' % EQRMPATH
     print ''
     res = raw_input('This test will run with the above environment variables, OK? ')
Index: /misc/tools/acceptance_tests/test_dump_python_environment.py
===================================================================
--- /misc/tools/acceptance_tests/test_dump_python_environment.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_dump_python_environment.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to dump the acceptance environment.'''
+"""Testlet to dump the acceptance environment."""
 
 import os
@@ -33,7 +33,7 @@
     util.log_print_nl(logfile)
 
-    # show PYTHONPATH value
-    pythonpath = os.getenv('PYTHONPATH')
-    util.log_print_nl(logfile, 'PYTHONPATH environment variable = %s' % pythonpath)
+    # show ANUGAPATH value
+    ANUGAPATH = os.getenv('ANUGAPATH')
+    util.log_print_nl(logfile, 'ANUGAPATH environment variable = %s' % ANUGAPATH)
 
     # see if we can get a revision number for ANUGA source
@@ -50,10 +50,10 @@
 
     # See if we are testing EQRM
-    eqrm_path = os.getenv('EQRMPATH')
+    eqrm_path = os.getenv('ANUGAPATH')
     if eqrm_path:
-        util.log_print_nl(logfile, 'Environment variable EQRMPATH = %s' % eqrm_path)
+        util.log_print_nl(logfile, 'Environment variable ANUGAPATH = %s' % eqrm_path)
         util.log_print_nl(logfile, 'EQRM will be tested below.')
     else:
-        util.log_print_nl(logfile, 'Environment variable EQRMPATH not set, not testing EQRM.')
+        util.log_print_nl(logfile, 'Environment variable ANUGAPATH not set, not testing EQRM.')
     util.log_print_nl(logfile)
 
Index: /misc/tools/acceptance_tests/test_eqrm.py
===================================================================
--- /misc/tools/acceptance_tests/test_eqrm.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_eqrm.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the EQRM 'test_all.py' script.'''
+"Testlet to run the EQRM 'test_all.py' script."""
 
 import os
Index: /misc/tools/acceptance_tests/test_filesystem_accessibility.py
===================================================================
--- /misc/tools/acceptance_tests/test_filesystem_accessibility.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_filesystem_accessibility.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to check that various filesystems are accessible'''
+"""Testlet to check that various filesystems are accessible"""
 
 import os
Index: /misc/tools/acceptance_tests/test_int32_type.py
===================================================================
--- /misc/tools/acceptance_tests/test_int32_type.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_int32_type.py	(revision 7656)
@@ -1,5 +1,5 @@
-'''
+"""
 This program checks the underlying type object for int32 data types.
-'''
+"""
 
 import platform
Index: /misc/tools/acceptance_tests/test_inter_latency.py
===================================================================
--- /misc/tools/acceptance_tests/test_inter_latency.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_inter_latency.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the internode LatencyBandwidth test.'''
+"""Testlet to run the internode LatencyBandwidth test."""
 
 import os
@@ -11,5 +11,5 @@
 
 def get_node_connections(nodes):
-    '''Given list of nodes, return list of all possible pairs.'''
+    """Given list of nodes, return list of all possible pairs."""
 
     def pair_list(l):
@@ -50,5 +50,5 @@
     # get list of node numbers
     home_env_var = os.getenv('HOME')
-    machines_file = os.path.join(home_env_var, '.machines_%s' % cluster)
+    #machines_file = os.path.join(home_env_var, '.machines_%s' % cluster)
     nodes = util.get_node_numbers(cluster, strip_bad_nodes=True)
     nodes.sort()
Index: /misc/tools/acceptance_tests/test_latency_bandwidth.py
===================================================================
--- /misc/tools/acceptance_tests/test_latency_bandwidth.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_latency_bandwidth.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the LatencyBandwidth test.'''
+"""Testlet to run the LatencyBandwidth test."""
 
 import os
@@ -36,8 +36,8 @@
     # run the tests
     results = []
-    machines_file = os.path.join('~', '.machines_%s' % cluster)
+    #machines_file = os.path.join('~', '.machines_%s' % cluster)
     for num_procs in Processor_Numbers:
         cmd = ('mpirun -nolocal -np %2d -hostfile %s %s'
-               % (num_procs, machines_file, obj_file))
+               % (num_procs, util.machines_file, obj_file))
         util.log_print(logfile, cmd + ' ...')
         (_, fd) = os.popen4(cmd)
Index: /misc/tools/acceptance_tests/test_offsite.py
===================================================================
--- /misc/tools/acceptance_tests/test_offsite.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_offsite.py	(revision 7656)
@@ -1,8 +1,8 @@
 #!/bin/env python
 
-'''Run acceptance tests in order.
+"""Run acceptance tests in order.
 
 Only run tests that don't need any compute nodes.
-'''
+"""
 
 import os
@@ -57,13 +57,13 @@
     # make sure environment variables are set
     python = os.getenv('PYTHON')
-    pythonpath = os.getenv('PYTHONPATH')
-    eqrmpath = os.getenv('EQRMPATH')
-    if eqrmpath is None:
-        eqrmpath = ''
-    if not python or not pythonpath:
+    ANUGAPATH = os.getenv('ANUGAPATH')
+    ANUGAPATH = os.getenv('ANUGAPATH')
+    if ANUGAPATH is None:
+        ANUGAPATH = ''
+    if not python or not ANUGAPATH:
         if not python:
             util.log_print_nl(logfile, 'Sorry, you must set the PYTHON environment variable.')
-        if not pythonpath:
-            util.log_print_nl(logfile, 'Sorry, you must set the PYTHONPATH environment variable.')
+        if not ANUGAPATH:
+            util.log_print_nl(logfile, 'Sorry, you must set the ANUGAPATH environment variable.')
         sys.exit(10)
 
@@ -74,6 +74,6 @@
     print ''
     print 'PYTHON=%s' % python
-    print 'PYTHONPATH=%s' % pythonpath
-    print 'EQRMPATH=%s' % eqrmpath
+    print 'ANUGAPATH=%s' % ANUGAPATH
+    print 'ANUGAPATH=%s' % ANUGAPATH
     print ''
     res = raw_input('This test will run with the above environment variables, OK? ')
Index: /misc/tools/acceptance_tests/test_python_packages.py
===================================================================
--- /misc/tools/acceptance_tests/test_python_packages.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_python_packages.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to check that packages required are importable'''
+"""Testlet to check that packages required are importable"""
 
 import os
Index: /misc/tools/acceptance_tests/test_quadrature_parallel_interleaved.py
===================================================================
--- /misc/tools/acceptance_tests/test_quadrature_parallel_interleaved.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_quadrature_parallel_interleaved.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the QuadratureParallelInterleaved test.'''
+"""Testlet to run the QuadratureParallelInterleaved test."""
 
 import os
@@ -36,9 +36,10 @@
     # run the tests
     results = []
-    machines_file = os.path.join('~', '.machines_%s' % cluster)
+    #machines_file = os.path.join('~', '.machines_%s' % cluster)
+    #machines_file = os.path.join('machines_%s' % cluster)
     single_processor_time = None
     for num_procs in Processor_Numbers:
         cmd = ('mpirun -nolocal -np %2d -hostfile %s %s'
-               % (num_procs, machines_file, obj_file))
+               % (num_procs, util.machines_file, obj_file))
         util.log_print(logfile, cmd + ' ...')
         (_, fd) = os.popen4(cmd)
Index: /misc/tools/acceptance_tests/test_ssh_to_compute_nodes.py
===================================================================
--- /misc/tools/acceptance_tests/test_ssh_to_compute_nodes.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_ssh_to_compute_nodes.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to check that can ssh to each subordinate node of the cluster.'''
+"""Testlet to check that can ssh to each subordinate node of the cluster."""
 
 import os
Index: /misc/tools/acceptance_tests/test_test_all.py
===================================================================
--- /misc/tools/acceptance_tests/test_test_all.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_test_all.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the 'test_all.py' ANUGA script.'''
+"""Testlet to run the 'test_all.py' ANUGA script."""
 
 import os
@@ -19,6 +19,6 @@
     # remember the directory we are in and go to ANUGA test directory
     home_directory = os.getcwd()
-    pythonpath = os.getenv('PYTHONPATH')
-    os.chdir(os.path.join(pythonpath, 'anuga'))
+    ANUGAPATH = os.getenv('ANUGAPATH')
+    os.chdir(os.path.join(ANUGAPATH, 'anuga'))
 
     # compile C code
Index: /misc/tools/acceptance_tests/test_test_pypar.py
===================================================================
--- /misc/tools/acceptance_tests/test_test_pypar.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_test_pypar.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Testlet to run the pypar tests.'''
+"""Testlet to run the pypar tests."""
 
 import os
@@ -20,8 +20,8 @@
 
     # run the test_pypar.py tests
-    machines_file = os.path.join('~', '.machines_%s' % cluster)
+    #machines_file = os.path.join('~', '.machines_%s' % cluster)
     for num_procs in Processor_Numbers:
         cmd = ('mpirun -nolocal -np %2d -hostfile %s %s test_pypar.py'
-               % (num_procs, machines_file, python_env_var))
+               % (num_procs, util.machines_file, python_env_var))
         util.log_print(logfile, cmd + ' ...')
         fd = os.popen(cmd)
@@ -48,5 +48,5 @@
     os.chdir('mandelbrot')
    
-    cmd = '%s compile_mandelbrot_c_extensions.py' % python_env_var 
+    cmd = '%s compile.py mandel_ext.c' % python_env_var 
     util.log_print_nl(logfile, cmd)
     fd = os.popen(cmd)
@@ -56,7 +56,16 @@
     if status:
         return False
-
+    
+    cmd = '%s compile.py mandelplot_ext.c' % python_env_var 
+    util.log_print_nl(logfile, cmd)
+    fd = os.popen(cmd)
+    compile_result = fd.read()
+    status = fd.close()
+    util.log_print(logfile, compile_result)
+    if status:
+        return False
+    
     # run tests
-    machines_file = os.path.join('~', '.machines_%s' % cluster)
+    machines_file = os.path.join('..', util.machines_file)
     result_data = []
     for num_procs in Processor_Numbers:
Index: /misc/tools/acceptance_tests/test_utils.py
===================================================================
--- /misc/tools/acceptance_tests/test_utils.py	(revision 7655)
+++ /misc/tools/acceptance_tests/test_utils.py	(revision 7656)
@@ -1,5 +1,5 @@
 #!/bin/env python
 
-'''Utility functions for the cluster acceptance test suite.'''
+"""Utility functions for the cluster acceptance test suite."""
 
 import os
@@ -14,9 +14,9 @@
 Cluster_Info = {'cyclone': {'num_nodes': 23,
                             'node_stem': 'compute-1-%d',
-                            'bad_nodes': [13]},
+                            'bad_nodes': [12]},
                 # 13 bad - 'no route to host'
                 'tornado': {'num_nodes': 20,
                             'node_stem': 'compute-0-%d',
-                            'bad_nodes': []},
+                            'bad_nodes': [3]},
                 'off_site': {'num_nodes': 1,
                              'node_stem': 'xyzzy-%d',
@@ -26,5 +26,5 @@
 
 def log(logfile, msg=''):
-    '''Write a message to the log file.'''
+    """Write a message to the log file."""
 
     fd = open(logfile, 'a')
@@ -34,5 +34,5 @@
 
 def log_nl(logfile, msg=''):
-    '''Write a message to the log file, with a newline added.'''
+    """Write a message to the log file, with a newline added."""
 
     log(logfile, msg)
@@ -41,8 +41,8 @@
 
 def log_print(logfile, msg=''):
-    '''Write a message to the log file and stdout.
+    """Write a message to the log file and stdout.
 
     The message doesn't have a '\n' added to it.
-    '''
+    """
 
     log(logfile, msg)
@@ -52,8 +52,8 @@
 
 def log_print_nl(logfile, msg=''):
-    '''Write a message to the log file and stdout, with a newline added.
+    """Write a message to the log file and stdout, with a newline added.
 
     Appends '\n' to msg.
-    '''
+    """
 
     log_nl(logfile, msg)
@@ -63,5 +63,5 @@
 
 def header(logfile, module, msg):
-    '''Write testlet header to log and stdout.'''
+    """Write testlet header to log and stdout."""
 
     # current time
@@ -76,5 +76,5 @@
 
 def footer(logfile, start_time=None):
-    '''Write testlet footer to log and stdout.'''
+    """Write testlet footer to log and stdout."""
 
     if start_time:
@@ -90,8 +90,8 @@
 
 def get_hostname():
-    '''Return (<host>, <domain>) for machine.
+    """Return (<host>, <domain>) for machine.
 
     For example, on the GA cyclone main node, return ('cyclone', 'agso.gov.au').
-    '''
+    """
 
     fd = os.popen('hostname')
@@ -110,8 +110,8 @@
 
 def get_cluster_info(cluster):
-    '''Get dictionary containing information for 'cluster'.
+    """Get dictionary containing information for 'cluster'.
 
     If 'cluster' is not recognized, return None.
-    '''
+    """
 
     return Cluster_Info.get(cluster, None)
@@ -119,8 +119,8 @@
 
 def get_node_numbers(cluster, strip_bad_nodes=True):
-    '''Get a list of node numbers for the cluster.
+    """Get a list of node numbers for the cluster.
 
     If 'strip_bad_nodes' is True remove bad nodes from the result.
-    '''
+    """
 
     result = []
@@ -133,3 +133,5 @@
     return result
 
-
+# Using the local machines file
+(cluster, domain) = get_hostname()
+machines_file = os.path.join('machines_%s' % cluster)
