예제 #1
0
    def testSave(self):
        testprefs = os.path.join(self.tmpdir.name, "testprefs")
        c = fractconfig.T(testprefs)
        c.set("general", "cache_dir", os.path.join(self.tmpdir.name,
                                                   "gnofract4d-cache"))
        c.set("compiler", "options", "-foo")
        self.assertEqual("-foo", c.get("compiler", "options"))
        c.save()

        c.set("compiler", "options", "wibble")
        config2 = fractconfig.T(testprefs)  # re-read
        self.assertEqual("-foo", config2.get("compiler", "options"))
예제 #2
0
 def setUp(self):
     self.tmpdir = tempfile.TemporaryDirectory(prefix="fract4d_")
     self.userConfig = fractconfig.T("")
     self.userConfig.set("general", "cache_dir",
                         os.path.join(self.tmpdir.name, "gnofract4d-cache"))
     self.userConfig["formula_path"].clear()
     self.userConfig["map_path"].clear()
     self.g_comp = fc.Compiler(self.userConfig)
     self.g_comp.add_func_path("formulas")
예제 #3
0
 def setUpClass(cls):
     cls.tmpdir = tempfile.TemporaryDirectory(prefix="fract4d_")
     cls.userConfig = fractconfig.T("")
     cls.userConfig.set("general", "cache_dir",
                        os.path.join(cls.tmpdir.name, "gnofract4d-cache"))
     cls.userConfig["formula_path"].clear()
     cls.userConfig["map_path"].clear()
     cls.g_comp = fc.Compiler(cls.userConfig)
     cls.g_comp.add_func_path("../fract4d")
     cls.g_comp.add_func_path("../formulas")
예제 #4
0
    def testRemoveSectionItem(self):
        c = fractconfig.T("")
        l = c.get_list("map_path")
        c.remove_section_item("map_path", 1)
        l2 = c.get_list("map_path")
        self.assertEqual(len(l) - 1, len(l2))
        self.assertEqual(l[0], l2[0])

        for i in range(1, len(l2) - 1):
            self.assertEqual(l[i + 1], l2[i])
예제 #5
0
    def setUp(self):
        self.tmpdir = tempfile.TemporaryDirectory(prefix="fract4d_")

        import sys
        if sys.platform[:6] == "darwin":
            self.userConfig = fractconfig.DarwinConfig("")
        else:
            self.userConfig = fractconfig.T("")

        self.userConfig.set("general", "cache_dir",
                            os.path.join(self.tmpdir.name, "gnofract4d-cache"))
        self.userConfig["formula_path"] = {"formulas": None}
        self.g_comp = fc.Compiler(self.userConfig)
예제 #6
0
    def testPrefs(self):
        compiler = fc.Compiler(Test.userConfig)
        prefs = fractconfig.T("testprefs")
        prefs.set("compiler", "name", "x")
        prefs.set("compiler", "options", "foo")
        prefs.set_list("formula_path", ["fish"])
        prefs.set_list("map_path", ["wibble"])

        compiler.update_from_prefs(prefs)

        self.assertEqual("x", compiler.compiler_name)
        self.assertEqual("foo", compiler.flags)
        self.assertEqual(["fish"], compiler.path_lists[0])
        self.assertEqual(["wibble"], compiler.path_lists[3])
예제 #7
0
    def setUpClass(cls):
        cls.tmpdir = tempfile.TemporaryDirectory(prefix="fract4d_")

        import sys
        if sys.platform[:6] == "darwin":
            cls.userConfig = fractconfig.DarwinConfig("")
        else:
            cls.userConfig = fractconfig.T("")

        cls.userConfig.set("general", "cache_dir",
                           os.path.join(cls.tmpdir.name, "gnofract4d-cache"))
        cls.userConfig["formula_path"].clear()
        cls.userConfig["map_path"].clear()
        cls.g_comp = fc.Compiler(cls.userConfig)
        cls.g_comp.add_func_path("formulas")
        cls.g_comp.add_func_path("testdata/formulas")
예제 #8
0
    def testSignals(self):
        baseconfig = fractconfig.T("test.config")
        config = preferences.Preferences(baseconfig)

        counter = CallCounter()

        config.connect('preferences-changed', counter.cb)

        # callback should happen
        config.set('compiler', 'name', 'cc')
        self.assertEqual(counter.count, 1)

        # no callback, value already set
        config.set('compiler', 'name', 'cc')
        self.assertEqual(counter.count, 1)

        # new option, callback called
        config.set('compiler', 'foop', 'cc')
        self.assertEqual(counter.count, 2)
예제 #9
0
    def testCacheCreation(self):
        c = cache.T(fractconfig.T("").get("general", "cache_dir"))
        self.assertEqual(os.path.expandvars("${HOME}/.gnofract4d-cache"),
                         c.dir)
        self.assertEqual({}, c.files)

        c = cache.T(self.cache_dir)
        self.assertEqual(self.cache_dir, c.dir)

        self.assertEqual(False, os.path.exists(self.cache_dir))

        c.init()
        self.assertTrue(os.path.isdir(self.cache_dir))

        file1_name = os.path.join(self.cache_dir, "file1.txt")
        f = open(file1_name, "w")
        f.close()
        self.assertTrue(os.path.exists(file1_name))

        c.clear()
        self.assertEqual(False, os.path.exists(file1_name))
예제 #10
0
 def testInstance(self):
     compiler = fc.Compiler(Test.userConfig)
     self.assertNotEqual(None, compiler)
     self.assertEqual(compiler.flags,
                      fractconfig.T("").get("compiler", "options"))
예제 #11
0
# test cases for parfile.py

import string
import unittest
import io
import math
import sys

if sys.path[1] != "..": sys.path.insert(1, "..")

from fract4d_compiler import fc, preprocessor
from fract4d import testbase, fractal, fractconfig, gradient
from fractutils import parfile

g_comp = fc.Compiler(fractconfig.T(""))
g_comp.add_func_path("../formulas")
g_comp.add_func_path("../fract4d")
g_comp.load_formula_file("gf4d.frm")
g_comp.load_formula_file("test.frm")
g_comp.load_formula_file("gf4d.cfrm")

fotd = """FOTD_for_04-05-06  { ; time=2:38:57.82--SF5 on a P200
reset=2004 type=mandel passes=1
center-mag=-0.74999655467724592903865/0.0171269216\\
3034049041486/5.51789e+018 params=0/0 float=y
maxiter=72000 inside=0 periodicity=10
colors=0000qJ0mP0iX0eb0di0`o0Xu0Tz2Pz2NzRTzoZqzbRz\\
dTzdTzeTzeTzeTzgVzgVzgVziVziVzkXzkXzkXzmXzmXzmXzgV\\
zdTu`RkXP`TNRNNGJL6GJ0CH08K04U0GcAWdPdkehvpmuxrzzx\\
zzzuzzqzzmzzizzezzbzzZzzVzzTzzRzzRxzPozPexNZvNPsLG\\
예제 #12
0
 def testInit(self):
     dummy = fractconfig.T(".gnofract4d")
     self.assertEqual(".gnofract4d", os.path.basename(dummy.file))
예제 #13
0
 def testGetList(self):
     c = fractconfig.T("")
     l = c.get_list("map_path")
     self.assertEqual(4, len(l))
     self.assertEqual("maps", l[0])
예제 #14
0
 def testInstance(self):
     dummy = preferences.Preferences(fractconfig.T(""))
     self.assertNotEqual(None, dummy)
예제 #15
0
 def setUp(self):
     baseconfig = fractconfig.T("test.config")
     self.config = preferences.Preferences(baseconfig)