_get_staging_directory, _no_sql_testing_config, env_file_fixture, \
script_file_fixture, _testing_config
from alembic import command
-from alembic.script import ScriptDirectory, Script
+from alembic.script import ScriptDirectory
from alembic.environment import EnvironmentContext
from alembic import util
import os
{"x": "x1", "y": "y2", "z": "z1", "q": "q1"}
)
- def test_step_ignore_init_py(self):
- """test that __init__.py is ignored."""
-
- env_file_fixture("""
-context.configure(dialect_name='sqlite', template_args={"somearg":"somevalue"})
-""")
- command.revision(self.cfg, message="some rev")
- script = ScriptDirectory.from_config(self.cfg)
- path = os.path.join(script.versions, "__init__.py")
- with open(path, 'w') as f:
- f.write(
- "crap, crap -> crap"
- )
- command.revision(self.cfg, message="another rev")
-
- script.get_revision('head')
-
- def test_is_ignored_filename(self):
- script = ScriptDirectory.from_config(self.cfg)
- cases = [
- '__init__.py',
- u'__init__.py',
- u'__init__.pyc',
- u'__init__.pyx',
- u'__init__.pyo',
- ]
- for case in cases:
- assert Script._from_filename(
- script, script.versions, case) is None
-
def test_tmpl_args_revision(self):
env_file_fixture("""
context.configure(dialect_name='sqlite', template_args={"somearg":"somevalue"})
""")
+class IgnoreInitTest(TestBase):
+ sourceless = False
+
+ def setUp(self):
+ self.bind = _sqlite_file_db()
+ self.env = staging_env(sourceless=self.sourceless)
+ self.cfg = _sqlite_testing_config(sourceless=self.sourceless)
+
+ def tearDown(self):
+ clear_staging_env()
+
+ def _test_ignore_init_py(self, ext):
+ """test that __init__.py is ignored."""
+
+ command.revision(self.cfg, message="some rev")
+ script = ScriptDirectory.from_config(self.cfg)
+ path = os.path.join(script.versions, "__init__.%s" % ext)
+ with open(path, 'w') as f:
+ f.write(
+ "crap, crap -> crap"
+ )
+ command.revision(self.cfg, message="another rev")
+
+ script.get_revision('head')
+
+ def test_ignore_py(self):
+ self._test_ignore_init_py("py")
+
+ def test_ignore_pyc(self):
+ self._test_ignore_init_py("pyc")
+
+ def test_ignore_pyx(self):
+ self._test_ignore_init_py("pyx")
+
+ def test_ignore_pyo(self):
+ self._test_ignore_init_py("pyo")
+
+
+class SourcelessIgnoreInitTest(IgnoreInitTest):
+ sourceless = True
+
+
class SourcelessVersioningTest(VersioningTest):
sourceless = True