~wesley-wiedenmeier/+junk/test-scratch

« back to all changes in this revision

Viewing changes to tests/storagetests/__init__.py

  • Committer: Wesley Wiedenmeier
  • Date: 2015-12-15 22:13:34 UTC
  • Revision ID: wesley.wiedenmeier@gmail.com-20151215221334-hin925iwn2onk64i
Fixed locations so module stuff works and all

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from curtin.commands import block_meta
 
2
from curtin import util
 
3
from curtin import log
 
4
 
 
5
from collections import namedtuple
 
6
 
 
7
import os
 
8
import sys
 
9
import tempfile
 
10
import yaml
 
11
 
 
12
log.basicConfig(verbosity=log.DEBUG, stream=sys.stderr)
 
13
LOG = log.LOG
 
14
 
 
15
 
 
16
def apply_config(config):
 
17
    with open(config, 'r') as fp:
 
18
        conf_string = fp.read()
 
19
    config = yaml.load(conf_string)
 
20
    arg_holder = namedtuple('args', 'config')
 
21
    args = arg_holder(config=config)
 
22
    block_meta.meta_custom(args)
 
23
 
 
24
 
 
25
def make_command_environment(tdir):
 
26
    # copied from util.load_command_environment
 
27
    mapping = {'scratch': 'WORKING_DIR', 'fstab': 'OUTPUT_FSTAB',
 
28
               'interfaces': 'OUTPUT_INTERFACES', 'config': 'CONFIG',
 
29
               'target': 'TARGET_MOUNT_POINT',
 
30
               'network_state': 'OUTPUT_NETWORK_STATE',
 
31
               'network_config': 'OUTPUT_NETWORK_CONFIG'}
 
32
 
 
33
    dirs = ('WORKING_DIR', 'TARGET_MOUNT_POINT')
 
34
    data = {env_name: os.path.join(tdir, name)
 
35
            for name, env_name in mapping.items()}
 
36
    for d in dirs:
 
37
        util.ensure_dir(d)
 
38
 
 
39
    os.environ.update(data)
 
40
 
 
41
 
 
42
class CurtinEnvironment:
 
43
    def __init__(self):
 
44
        self.tmpdir = tempfile.mkdtemp()
 
45
        make_command_environment(self.tmpdir)
 
46
 
 
47
    def clean(self):
 
48
        os.rmdir(self.tmpdir)