Adjust asymptote and gnuplot doctests to be directory independent.
authorW. Trevor King <wking@drexel.edu>
Sat, 14 May 2011 18:11:50 +0000 (14:11 -0400)
committerW. Trevor King <wking@drexel.edu>
Sat, 14 May 2011 18:11:53 +0000 (14:11 -0400)
Now you can run the doctests from any directory and they will still
find the files they are scanning to test.  Note that SCons may not be
installed in your PYTHONPATH by default:

> From: Steven Knight
> Date: May 28, 2008; 10:01am
> Subject: Re: easy_installed scons not working
>
> ...
>
> In essence, we've tried to make SCons more like a standalone
> application that happens to use Python, instead of a Python
> application that only exists "within" the Python installation itself.
> This separation also allows you, for example, to experiment with
> upgrading your Python version without having to re-install SCons.
>
> ...
>
> Note that the hacking we've done on our setup.py does allow you to
> install into the site-package/ subdirectory if you wish, using an
> extended --standard-lib option.
>
> ...

So you may need to try something like:
  PYTHONPATH=/usr/lib/scons-2.0.1/ python site_cons/site_tools/asymptote.py
to run the tests.

tex/site_cons/site_tools/asymptote.py
tex/site_cons/site_tools/gnuplot.py

index f954bd16983d1c38451e8ab02d63f41cec3e054d..9d7f2f4c8b09d4150ff792d78717ca34a8e18d4c 100644 (file)
@@ -15,6 +15,8 @@ asyfigs = []
 
 def asymptote_scan(node, env, path, arg=None):
     """
+    >>> this_dir = os.path.dirname(__file__)
+    >>> src_dir = os.path.join(this_dir, '..', '..', 'src')
     >>> class node (object):
     ...     def __init__(self, path):
     ...         self.path = path
@@ -28,7 +30,7 @@ def asymptote_scan(node, env, path, arg=None):
     ...     def srcnode(self):
     ...         return self
     >>> for p in asymptote_scan(
-    ...         node('../../src/figures/cantilever-sim/v-dep.asy'),
+    ...         node(os.path.join(src_dir, 'figures', 'cantilever-sim', 'v-dep.asy')),
     ...         None, None, None):
     ...     print p
     v-dep.d/v_dep_127_8
@@ -37,6 +39,12 @@ def asymptote_scan(node, env, path, arg=None):
     v-dep.d/v_dep_27_30
     v-dep.d/v_dep_0.1_1
     v-dep.d/v_dep_0.1_30
+    v-dep.d/v_dep_127_8.fit.dat
+    v-dep.d/v_dep_27_8.fit.dat
+    v-dep.d/v_dep_127_30.fit.dat
+    v-dep.d/v_dep_27_30.fit.dat
+    v-dep.d/v_dep_0.1_1.fit.dat
+    v-dep.d/v_dep_0.1_30.fit.dat
     """
     try:
         contents = node.get_text_contents()
index bcb5b32f8275fb9b1dee8b02271799a26d6388c4..20bd3e723eb61e23779d5e3bb88f117477bacfd7 100644 (file)
@@ -10,6 +10,8 @@ quoted_string_re = re.compile(r"'([^']*)'", re.M)
 
 def gnuplot_scan(node, env, path, arg=None):
     """
+    >>> this_dir = os.path.dirname(__file__)
+    >>> src_dir = os.path.join(this_dir, '..', '..', 'src')
     >>> class node (object):
     ...     def __init__(self, path):
     ...         self.path = path
@@ -23,7 +25,7 @@ def gnuplot_scan(node, env, path, arg=None):
     ...     def srcnode(self):
     ...         return self
     >>> for p in gnuplot_scan(
-    ...         node('../../src/figures/order-dep/fig.gp'),
+    ...         node(os.path.join(src_dir, 'figures', 'order-dep', 'fig.gp')),
     ...         None, None, None):
     ...     print p
     data/order.avg-4