|
@@ -1,7 +1,8 @@ |
|
|
from focker.compose import exec_hook, \
|
|
|
from focker.compose import exec_hook, \
|
|
|
exec_prebuild, \
|
|
|
exec_prebuild, \
|
|
|
exec_postbuild, \
|
|
|
exec_postbuild, \
|
|
|
build_volumes
|
|
|
|
|
|
|
|
|
build_volumes, \
|
|
|
|
|
|
build_images
|
|
|
from tempfile import TemporaryDirectory
|
|
|
from tempfile import TemporaryDirectory
|
|
|
import os
|
|
|
import os
|
|
|
import pytest
|
|
|
import pytest
|
|
@@ -15,6 +16,7 @@ from focker.zfs import zfs_find, \ |
|
|
zfs_mountpoint, \
|
|
|
zfs_mountpoint, \
|
|
|
zfs_parse_output
|
|
|
zfs_parse_output
|
|
|
import subprocess
|
|
|
import subprocess
|
|
|
|
|
|
import yaml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_exec_hook_01():
|
|
|
def test_exec_hook_01():
|
|
@@ -129,3 +131,25 @@ def test_build_volumes(): |
|
|
assert zst[0][2] == '1G'
|
|
|
assert zst[0][2] == '1G'
|
|
|
assert zst[1][2] == 'on'
|
|
|
assert zst[1][2] == 'on'
|
|
|
subprocess.check_output(['zfs', 'destroy', '-r', '-f', name])
|
|
|
subprocess.check_output(['zfs', 'destroy', '-r', '-f', name])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_build_images():
|
|
|
|
|
|
# focker_unlock()
|
|
|
|
|
|
subprocess.check_output(['focker', 'image', 'remove', '--force', 'test-build-images'])
|
|
|
|
|
|
with TemporaryDirectory() as d:
|
|
|
|
|
|
with open(os.path.join(d, 'Fockerfile'), 'w') as f:
|
|
|
|
|
|
yaml.dump({
|
|
|
|
|
|
'base': 'freebsd-latest',
|
|
|
|
|
|
'steps': [
|
|
|
|
|
|
{ 'run': 'touch /test-build-images' }
|
|
|
|
|
|
]
|
|
|
|
|
|
}, f)
|
|
|
|
|
|
args = lambda: 0
|
|
|
|
|
|
args.squeeze = False
|
|
|
|
|
|
build_images({
|
|
|
|
|
|
'test-build-images': '.'
|
|
|
|
|
|
}, d, args)
|
|
|
|
|
|
focker_unlock()
|
|
|
|
|
|
name, _ = zfs_find('test-build-images', focker_type='image')
|
|
|
|
|
|
assert os.path.exists(os.path.join(zfs_mountpoint(name), 'test-build-images'))
|
|
|
|
|
|
subprocess.check_output(['focker', 'image', 'remove', '--force', 'test-build-images'])
|