diff options
| author | Michael Wood <michael.g.wood@intel.com> | 2016-10-28 18:48:44 +0300 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-04 12:50:55 +0000 |
| commit | 953b2f50f003a53fc387edfdeb8aa96d904526b2 (patch) | |
| tree | 1cda5e8447cfea32e6cc294b8abd614ed7960ec5 /bitbake | |
| parent | effbf9e09e527a4bfb1e1ba5146ade2bad02e673 (diff) | |
| download | poky-953b2f50f003a53fc387edfdeb8aa96d904526b2.tar.gz | |
bitbake: toaster: Delete useless bldcontrol/test
It doesn't work nor does it test anything useful
(Bitbake rev: cf727757767d96b2cd2055f519289712bdf0e505)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
| -rw-r--r-- | bitbake/lib/toaster/bldcontrol/tests.py | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/tests.py b/bitbake/lib/toaster/bldcontrol/tests.py deleted file mode 100644 index 475ac0a16f..0000000000 --- a/bitbake/lib/toaster/bldcontrol/tests.py +++ /dev/null | |||
| @@ -1,141 +0,0 @@ | |||
| 1 | """ | ||
| 2 | This file demonstrates writing tests using the unittest module. These will pass | ||
| 3 | when you run "manage.py test". | ||
| 4 | |||
| 5 | Replace this with more appropriate tests for your application. | ||
| 6 | """ | ||
| 7 | |||
| 8 | from django.test import TestCase | ||
| 9 | |||
| 10 | from bldcontrol.bbcontroller import BitbakeController, BuildSetupException | ||
| 11 | from bldcontrol.localhostbecontroller import LocalhostBEController | ||
| 12 | from bldcontrol.models import BuildEnvironment, BuildRequest | ||
| 13 | from bldcontrol.management.commands.runbuilds import Command | ||
| 14 | |||
| 15 | import socket | ||
| 16 | import subprocess | ||
| 17 | import os | ||
| 18 | |||
| 19 | # standard poky data hardcoded for testing | ||
| 20 | BITBAKE_LAYER = type('bitbake_info', (object,), { "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "", "commit": "HEAD"}) | ||
| 21 | POKY_LAYERS = [ | ||
| 22 | type('poky_info', (object,), { "name": "meta", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta", "commit": "HEAD"}), | ||
| 23 | type('poky_info', (object,), { "name": "meta-yocto", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta-yocto", "commit": "HEAD"}), | ||
| 24 | type('poky_info', (object,), { "name": "meta-yocto-bsp", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta-yocto-bsp", "commit": "HEAD"}), | ||
| 25 | ] | ||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | # we have an abstract test class designed to ensure that the controllers use a single interface | ||
| 30 | # specific controller tests only need to override the _getBuildEnvironment() method | ||
| 31 | |||
| 32 | test_sourcedir = os.getenv("TTS_SOURCE_DIR") | ||
| 33 | test_builddir = os.getenv("TTS_BUILD_DIR") | ||
| 34 | test_address = os.getenv("TTS_TEST_ADDRESS", "localhost") | ||
| 35 | |||
| 36 | if test_sourcedir == None or test_builddir == None or test_address == None: | ||
| 37 | raise Exception("Please set TTTS_SOURCE_DIR, TTS_BUILD_DIR and TTS_TEST_ADDRESS") | ||
| 38 | |||
| 39 | # The bb server will expect a toaster-pre.conf file to exist. If it doesn't exit then we make | ||
| 40 | # an empty one here. | ||
| 41 | open(test_builddir + 'conf/toaster-pre.conf', 'a').close() | ||
| 42 | |||
| 43 | class BEControllerTests(object): | ||
| 44 | |||
| 45 | def _serverForceStop(self, bc): | ||
| 46 | err = bc._shellcmd("netstat -tapn 2>/dev/null | grep 8200 | awk '{print $7}' | sort -fu | cut -d \"/\" -f 1 | grep -v -- - | tee /dev/fd/2 | xargs -r kill") | ||
| 47 | self.assertTrue(err == '', "bitbake server pid %s not stopped" % err) | ||
| 48 | |||
| 49 | def test_serverStartAndStop(self): | ||
| 50 | obe = self._getBuildEnvironment() | ||
| 51 | bc = self._getBEController(obe) | ||
| 52 | try: | ||
| 53 | # setting layers, skip any layer info | ||
| 54 | bc.setLayers(BITBAKE_LAYER, POKY_LAYERS) | ||
| 55 | except NotImplementedError: | ||
| 56 | print("Test skipped due to command not implemented yet") | ||
| 57 | return True | ||
| 58 | # We are ok with the exception as we're handling the git already exists | ||
| 59 | except BuildSetupException: | ||
| 60 | pass | ||
| 61 | |||
| 62 | bc.pokydirname = test_sourcedir | ||
| 63 | bc.islayerset = True | ||
| 64 | |||
| 65 | hostname = test_address.split("@")[-1] | ||
| 66 | |||
| 67 | # test start server and stop | ||
| 68 | bc.startBBServer() | ||
| 69 | |||
| 70 | self.assertFalse(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, int(bc.be.bbport))), "Server not answering") | ||
| 71 | |||
| 72 | self._serverForceStop(bc) | ||
| 73 | |||
| 74 | def test_getBBController(self): | ||
| 75 | obe = self._getBuildEnvironment() | ||
| 76 | bc = self._getBEController(obe) | ||
| 77 | layerSet = False | ||
| 78 | try: | ||
| 79 | # setting layers, skip any layer info | ||
| 80 | layerSet = bc.setLayers(BITBAKE_LAYER, POKY_LAYERS) | ||
| 81 | except NotImplementedError: | ||
| 82 | print("Test skipped due to command not implemented yet") | ||
| 83 | return True | ||
| 84 | # We are ok with the exception as we're handling the git already exists | ||
| 85 | except BuildSetupException: | ||
| 86 | pass | ||
| 87 | |||
| 88 | bc.pokydirname = test_sourcedir | ||
| 89 | bc.islayerset = True | ||
| 90 | |||
| 91 | bbc = bc.getBBController() | ||
| 92 | self.assertTrue(isinstance(bbc, BitbakeController)) | ||
| 93 | |||
| 94 | self._serverForceStop(bc) | ||
| 95 | |||
| 96 | class LocalhostBEControllerTests(TestCase, BEControllerTests): | ||
| 97 | def __init__(self, *args): | ||
| 98 | super(LocalhostBEControllerTests, self).__init__(*args) | ||
| 99 | |||
| 100 | |||
| 101 | def _getBuildEnvironment(self): | ||
| 102 | return BuildEnvironment.objects.create( | ||
| 103 | lock = BuildEnvironment.LOCK_FREE, | ||
| 104 | betype = BuildEnvironment.TYPE_LOCAL, | ||
| 105 | address = test_address, | ||
| 106 | sourcedir = test_sourcedir, | ||
| 107 | builddir = test_builddir ) | ||
| 108 | |||
| 109 | def _getBEController(self, obe): | ||
| 110 | return LocalhostBEController(obe) | ||
| 111 | |||
| 112 | class RunBuildsCommandTests(TestCase): | ||
| 113 | def test_bec_select(self): | ||
| 114 | """ | ||
| 115 | Tests that we can find and lock a build environment | ||
| 116 | """ | ||
| 117 | |||
| 118 | obe = BuildEnvironment.objects.create(lock = BuildEnvironment.LOCK_FREE, betype = BuildEnvironment.TYPE_LOCAL) | ||
| 119 | command = Command() | ||
| 120 | bec = command._selectBuildEnvironment() | ||
| 121 | |||
| 122 | # make sure we select the object we've just built | ||
| 123 | self.assertTrue(bec.be.id == obe.id, "Environment is not properly selected") | ||
| 124 | # we have a locked environment | ||
| 125 | self.assertTrue(bec.be.lock == BuildEnvironment.LOCK_LOCK, "Environment is not locked") | ||
| 126 | # no more selections possible here | ||
| 127 | self.assertRaises(IndexError, command._selectBuildEnvironment) | ||
| 128 | |||
| 129 | def test_br_select(self): | ||
| 130 | from orm.models import Project, Release, BitbakeVersion, Branch | ||
| 131 | p = Project.objects.create_project("test", Release.objects.get_or_create(name = "HEAD", bitbake_version = BitbakeVersion.objects.get_or_create(name="HEAD", branch=Branch.objects.get_or_create(name="HEAD"))[0])[0]) | ||
| 132 | obr = BuildRequest.objects.create(state = BuildRequest.REQ_QUEUED, project = p) | ||
| 133 | command = Command() | ||
| 134 | br = command._selectBuildRequest() | ||
| 135 | |||
| 136 | # make sure we select the object we've just built | ||
| 137 | self.assertTrue(obr.id == br.id, "Request is not properly selected") | ||
| 138 | # we have a locked environment | ||
| 139 | self.assertTrue(br.state == BuildRequest.REQ_INPROGRESS, "Request is not updated") | ||
| 140 | # no more selections possible here | ||
| 141 | self.assertRaises(IndexError, command._selectBuildRequest) | ||
