File: test

package info (click to toggle)
subuser 0.6.2-3
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 4,208 kB
  • sloc: python: 5,201; sh: 380; makefile: 73
file content (80 lines) | stat: -rwxr-xr-x 2,168 bytes parent folder | download
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.")