1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#external imports
import sys
import os
import io
import subprocess
import copy
import tempfile
import shutil
#internal imports
import subuserlib.docker
import subuserlib.paths
if "--help" in sys.argv:
print("""
This script can be used to launch the doctest test suit.
To do so run ./logic/test doctest
""")
sys.exit()
elif "doctest" in sys.argv:
#import locale
#locale.setlocale(locale.LC_ALL, '')
import subuserlib.docker
import doctest
import imp
if not "--travis" in sys.argv:
subuserDir = "/pwd"
else:
subuserDir = subuserlib.paths.getSubuserDir()
# classes
import subuserlib.classes.user
import subuserlib.classes.subuser
import subuserlib.classes.fileStructure
import subuserlib.classes.gitRepository
# libs
import subuserlib.resolve
import subuserlib.permissions
# commands
def loadSource(command):
return imp.load_source(command,os.path.join(subuserlib.paths.getSubuserDir(),"logic","subuserlib","builtInCommands",command+".py"))
list = loadSource("list")
version = loadSource("version")
describe = loadSource("describe")
repository = loadSource("repository")
subuser = loadSource("subuser")
update = loadSource("update")
print_dependency_info = loadSource("print-dependency-info")
remove_old_images = loadSource("remove-old-images")
modules = [
# classes
subuserlib.classes.user
,subuserlib.classes.subusers
# subuserlib modules
,subuserlib.permissions
,subuserlib.resolve
# subuser commands
,list
,version
,describe
,print_dependency_info
,remove_old_images
,repository
,subuser
,update
]
localOnlyModules = [ # These don't work with travis for some reason...
subuserlib.classes.fileStructure
,subuserlib.classes.gitRepository]
if not "--travis" in sys.argv:
modules.extend(localOnlyModules)
for module in modules:
print("Testing module: " + module.__name__)
optionflags = 0
(failures,_) = doctest.testmod(module,optionflags=optionflags)
if failures:
sys.exit(failures)
doctest.testfile("../test/global-doctests")
print("Tests passed.")
|