#!/usr/bin/env python

import os, sys
SAGE_ROOT=os.environ["SAGE_ROOT"]
os.environ["LD_LIBRARY_PATH"] = SAGE_ROOT + "/local/lib"
os.environ["PYTHONPATH"]=SAGE_ROOT + "/local/lib/python/site-packages"
PYTHON=SAGE_ROOT + "/local/bin/python"

def test_file(file):
    if os.path.exists(file):
        s = "from sage.all import *\n"
        s += open(file).read()
        s = s.replace("sage:", ">>>")
        if s.find("doctest") == -1:
            s += """if __name__ ==  '__main__':
        import doctest, sys
        doctest.testmod(sys.modules[__name__])
        """
        if not os.path.exists('.doctest'):
            os.makedirs('.doctest')
        f = ".doctest/test_%s"%file
        open(f,"w").write(s)
        cmd = "%s %s"%(PYTHON,f)
        print cmd
        os.system(cmd)
    else:
        print "Error running %s, since file %s does not exist."%(sys.argv[0], sys.argv[1])
                
if __name__ ==  '__main__':

    if len(sys.argv) == 1:
        print "Usage: %s <filename>"%(sys.argv[0])
    else:
        file = sys.argv[1]
        test_file(file)
