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>
This commit is contained in:
parent
effbf9e09e
commit
953b2f50f0
|
@ -1,141 +0,0 @@
|
||||||
"""
|
|
||||||
This file demonstrates writing tests using the unittest module. These will pass
|
|
||||||
when you run "manage.py test".
|
|
||||||
|
|
||||||
Replace this with more appropriate tests for your application.
|
|
||||||
"""
|
|
||||||
|
|
||||||
from django.test import TestCase
|
|
||||||
|
|
||||||
from bldcontrol.bbcontroller import BitbakeController, BuildSetupException
|
|
||||||
from bldcontrol.localhostbecontroller import LocalhostBEController
|
|
||||||
from bldcontrol.models import BuildEnvironment, BuildRequest
|
|
||||||
from bldcontrol.management.commands.runbuilds import Command
|
|
||||||
|
|
||||||
import socket
|
|
||||||
import subprocess
|
|
||||||
import os
|
|
||||||
|
|
||||||
# standard poky data hardcoded for testing
|
|
||||||
BITBAKE_LAYER = type('bitbake_info', (object,), { "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "", "commit": "HEAD"})
|
|
||||||
POKY_LAYERS = [
|
|
||||||
type('poky_info', (object,), { "name": "meta", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta", "commit": "HEAD"}),
|
|
||||||
type('poky_info', (object,), { "name": "meta-yocto", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta-yocto", "commit": "HEAD"}),
|
|
||||||
type('poky_info', (object,), { "name": "meta-yocto-bsp", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta-yocto-bsp", "commit": "HEAD"}),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# we have an abstract test class designed to ensure that the controllers use a single interface
|
|
||||||
# specific controller tests only need to override the _getBuildEnvironment() method
|
|
||||||
|
|
||||||
test_sourcedir = os.getenv("TTS_SOURCE_DIR")
|
|
||||||
test_builddir = os.getenv("TTS_BUILD_DIR")
|
|
||||||
test_address = os.getenv("TTS_TEST_ADDRESS", "localhost")
|
|
||||||
|
|
||||||
if test_sourcedir == None or test_builddir == None or test_address == None:
|
|
||||||
raise Exception("Please set TTTS_SOURCE_DIR, TTS_BUILD_DIR and TTS_TEST_ADDRESS")
|
|
||||||
|
|
||||||
# The bb server will expect a toaster-pre.conf file to exist. If it doesn't exit then we make
|
|
||||||
# an empty one here.
|
|
||||||
open(test_builddir + 'conf/toaster-pre.conf', 'a').close()
|
|
||||||
|
|
||||||
class BEControllerTests(object):
|
|
||||||
|
|
||||||
def _serverForceStop(self, bc):
|
|
||||||
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")
|
|
||||||
self.assertTrue(err == '', "bitbake server pid %s not stopped" % err)
|
|
||||||
|
|
||||||
def test_serverStartAndStop(self):
|
|
||||||
obe = self._getBuildEnvironment()
|
|
||||||
bc = self._getBEController(obe)
|
|
||||||
try:
|
|
||||||
# setting layers, skip any layer info
|
|
||||||
bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
|
|
||||||
except NotImplementedError:
|
|
||||||
print("Test skipped due to command not implemented yet")
|
|
||||||
return True
|
|
||||||
# We are ok with the exception as we're handling the git already exists
|
|
||||||
except BuildSetupException:
|
|
||||||
pass
|
|
||||||
|
|
||||||
bc.pokydirname = test_sourcedir
|
|
||||||
bc.islayerset = True
|
|
||||||
|
|
||||||
hostname = test_address.split("@")[-1]
|
|
||||||
|
|
||||||
# test start server and stop
|
|
||||||
bc.startBBServer()
|
|
||||||
|
|
||||||
self.assertFalse(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, int(bc.be.bbport))), "Server not answering")
|
|
||||||
|
|
||||||
self._serverForceStop(bc)
|
|
||||||
|
|
||||||
def test_getBBController(self):
|
|
||||||
obe = self._getBuildEnvironment()
|
|
||||||
bc = self._getBEController(obe)
|
|
||||||
layerSet = False
|
|
||||||
try:
|
|
||||||
# setting layers, skip any layer info
|
|
||||||
layerSet = bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
|
|
||||||
except NotImplementedError:
|
|
||||||
print("Test skipped due to command not implemented yet")
|
|
||||||
return True
|
|
||||||
# We are ok with the exception as we're handling the git already exists
|
|
||||||
except BuildSetupException:
|
|
||||||
pass
|
|
||||||
|
|
||||||
bc.pokydirname = test_sourcedir
|
|
||||||
bc.islayerset = True
|
|
||||||
|
|
||||||
bbc = bc.getBBController()
|
|
||||||
self.assertTrue(isinstance(bbc, BitbakeController))
|
|
||||||
|
|
||||||
self._serverForceStop(bc)
|
|
||||||
|
|
||||||
class LocalhostBEControllerTests(TestCase, BEControllerTests):
|
|
||||||
def __init__(self, *args):
|
|
||||||
super(LocalhostBEControllerTests, self).__init__(*args)
|
|
||||||
|
|
||||||
|
|
||||||
def _getBuildEnvironment(self):
|
|
||||||
return BuildEnvironment.objects.create(
|
|
||||||
lock = BuildEnvironment.LOCK_FREE,
|
|
||||||
betype = BuildEnvironment.TYPE_LOCAL,
|
|
||||||
address = test_address,
|
|
||||||
sourcedir = test_sourcedir,
|
|
||||||
builddir = test_builddir )
|
|
||||||
|
|
||||||
def _getBEController(self, obe):
|
|
||||||
return LocalhostBEController(obe)
|
|
||||||
|
|
||||||
class RunBuildsCommandTests(TestCase):
|
|
||||||
def test_bec_select(self):
|
|
||||||
"""
|
|
||||||
Tests that we can find and lock a build environment
|
|
||||||
"""
|
|
||||||
|
|
||||||
obe = BuildEnvironment.objects.create(lock = BuildEnvironment.LOCK_FREE, betype = BuildEnvironment.TYPE_LOCAL)
|
|
||||||
command = Command()
|
|
||||||
bec = command._selectBuildEnvironment()
|
|
||||||
|
|
||||||
# make sure we select the object we've just built
|
|
||||||
self.assertTrue(bec.be.id == obe.id, "Environment is not properly selected")
|
|
||||||
# we have a locked environment
|
|
||||||
self.assertTrue(bec.be.lock == BuildEnvironment.LOCK_LOCK, "Environment is not locked")
|
|
||||||
# no more selections possible here
|
|
||||||
self.assertRaises(IndexError, command._selectBuildEnvironment)
|
|
||||||
|
|
||||||
def test_br_select(self):
|
|
||||||
from orm.models import Project, Release, BitbakeVersion, Branch
|
|
||||||
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])
|
|
||||||
obr = BuildRequest.objects.create(state = BuildRequest.REQ_QUEUED, project = p)
|
|
||||||
command = Command()
|
|
||||||
br = command._selectBuildRequest()
|
|
||||||
|
|
||||||
# make sure we select the object we've just built
|
|
||||||
self.assertTrue(obr.id == br.id, "Request is not properly selected")
|
|
||||||
# we have a locked environment
|
|
||||||
self.assertTrue(br.state == BuildRequest.REQ_INPROGRESS, "Request is not updated")
|
|
||||||
# no more selections possible here
|
|
||||||
self.assertRaises(IndexError, command._selectBuildRequest)
|
|
Loading…
Reference in New Issue