Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
22
sources/poky/bitbake/lib/toaster/tests/eventreplay/README
Normal file
22
sources/poky/bitbake/lib/toaster/tests/eventreplay/README
Normal file
@@ -0,0 +1,22 @@
|
||||
# Running eventreplay tests
|
||||
|
||||
These tests use event log files produced by bitbake <target> -w <event log file>
|
||||
You need to have event log files produced before running this tests.
|
||||
|
||||
At the moment of writing this document tests use 2 event log files: zlib.events
|
||||
and core-image-minimal.events. They're not provided with the tests due to their
|
||||
significant size.
|
||||
|
||||
Here is how to produce them:
|
||||
|
||||
$ . oe-init-build-env
|
||||
$ rm -r tmp sstate-cache
|
||||
$ bitbake core-image-minimal -w core-image-minimal.events
|
||||
$ rm -rf tmp sstate-cache
|
||||
$ bitbake zlib -w zlib.events
|
||||
|
||||
After that it should be possible to run eventreplay tests this way:
|
||||
|
||||
$ EVENTREPLAY_DIR=./ DJANGO_SETTINGS_MODULE=toastermain.settings_test ../bitbake/lib/toaster/manage.py test -v2 tests.eventreplay
|
||||
|
||||
Note that environment variable EVENTREPLAY_DIR should point to the directory with event log files.
|
||||
@@ -0,0 +1,85 @@
|
||||
#! /usr/bin/env python3
|
||||
#
|
||||
# BitBake Toaster Implementation
|
||||
#
|
||||
# Copyright (C) 2016 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
|
||||
# Tests were part of openembedded-core oe selftest Authored by: Lucian Musat
|
||||
# Ionut Chisanovici, Paul Eggleton and Cristian Iorga
|
||||
|
||||
"""
|
||||
Test toaster backend by playing build event log files
|
||||
using toaster-eventreplay script
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from subprocess import getstatusoutput
|
||||
from pathlib import Path
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from orm.models import Target_Installed_Package, Package, Build
|
||||
|
||||
class EventReplay(TestCase):
|
||||
"""Base class for eventreplay test cases"""
|
||||
|
||||
def setUp(self):
|
||||
"""
|
||||
Setup build environment:
|
||||
- set self.script to toaster-eventreplay path
|
||||
- set self.eventplay_dir to the value of EVENTPLAY_DIR env variable
|
||||
"""
|
||||
bitbake_dir = Path(__file__.split('lib/toaster')[0])
|
||||
self.script = bitbake_dir / 'bin' / 'toaster-eventreplay'
|
||||
self.assertTrue(self.script.exists(), "%s doesn't exist")
|
||||
self.eventplay_dir = os.getenv("EVENTREPLAY_DIR")
|
||||
self.assertTrue(self.eventplay_dir,
|
||||
"Environment variable EVENTREPLAY_DIR is not set")
|
||||
|
||||
def _replay(self, eventfile):
|
||||
"""Run toaster-eventplay <eventfile>"""
|
||||
eventpath = Path(self.eventplay_dir) / eventfile
|
||||
status, output = getstatusoutput('%s %s' % (self.script, eventpath))
|
||||
if status:
|
||||
print(output)
|
||||
|
||||
self.assertEqual(status, 0)
|
||||
|
||||
class CoreImageMinimalEventReplay(EventReplay):
|
||||
"""Replay core-image-minimal events"""
|
||||
|
||||
def test_installed_packages(self):
|
||||
"""Test if all required packages have been installed"""
|
||||
|
||||
self._replay('core-image-minimal.events')
|
||||
|
||||
# test installed packages
|
||||
packages = sorted(Target_Installed_Package.objects.\
|
||||
values_list('package__name', flat=True))
|
||||
self.assertEqual(packages, ['base-files', 'base-passwd', 'busybox',
|
||||
'busybox-hwclock', 'busybox-syslog',
|
||||
'busybox-udhcpc', 'eudev', 'glibc',
|
||||
'init-ifupdown', 'initscripts',
|
||||
'initscripts-functions', 'kernel-base',
|
||||
'kernel-module-uvesafb', 'libkmod',
|
||||
'modutils-initscripts', 'netbase',
|
||||
'packagegroup-core-boot', 'run-postinsts',
|
||||
'sysvinit', 'sysvinit-inittab',
|
||||
'sysvinit-pidof', 'udev-cache',
|
||||
'update-alternatives-opkg',
|
||||
'update-rc.d', 'util-linux-libblkid',
|
||||
'util-linux-libuuid', 'v86d', 'zlib'])
|
||||
|
||||
class ZlibEventReplay(EventReplay):
|
||||
"""Replay zlib events"""
|
||||
|
||||
def test_replay_zlib(self):
|
||||
"""Test if zlib build and package are in the database"""
|
||||
self._replay("zlib.events")
|
||||
|
||||
self.assertEqual(Build.objects.last().target_set.last().target, "zlib")
|
||||
self.assertTrue('zlib' in Package.objects.values_list('name', flat=True))
|
||||
Reference in New Issue
Block a user