summaryrefslogtreecommitdiff
path: root/meta/lib
AgeCommit message (Collapse)AuthorFiles
2017-01-23oeqa/runtime/context.py: Add defaults for runtime contextMariano Lopez1
This adds default values to OERuntimeTestContextExecutor class in order to make easier the execution of exported test that were generated with testexport class. [YOCTO #10686] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23testimage.bbclass: Add package install featureMariano Lopez4
This allows to use the package install feature with the new OEQA framework. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23testimage.bbclass: Add support for package extractionMariano Lopez1
testimage support the installation of packages without a package manager in the target. This adds support for package extraction required to support the installation feature. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/utils/test.py: Add functions to get module pathMariano Lopez1
This will add functions to get module file path from a test case or a complete suite. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23runtime/cases/smart.py: Migrate smart testsMariano Lopez1
This migrates the smart test from the old framework to the new one. This has its own commit because smart test was using bb and oe libraries that are available when exporting the test cases to run in a different host. Because of the removal of bb and oe libraries index and packages feeds creation will be managed in testimage bbclass. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime/cases: Migrate runtime tests.Mariano Lopez51
This migrates current runtime test suite to be used with the new framework. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23core/target/qemu.py Adds qemu targetMariano Lopez1
This adds qemu target to be used in testimage. It uses the current QemuRunner class in order to boot and control qemu. [YOCTO #10231] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime/context.py: Add logger to getTargetMariano Lopez1
Current targets (ssh and qemu) require a logger in their constructors, so in order to get a new target we need to provide the logger. [YOCTO #10686] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime/context.py: Prepare for qemuAníbal Limón1
This commit will prepare context to use qemu and not just simpleremote. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/utils/dump: Move get_host_dumper to OERuntimeTestContextExecutor classAníbal Limón2
To avoid getVar calls inside a utils module, also moves get_host_dumper import inside testexport isn't needed. [YOCTO #10231] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/runtime/context: Move helper functions for process args to executorAníbal Limón1
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/runtime/context: Add runtime option group and options for target type ↵Aníbal Limón1
and server ip. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/core/context: Add option to select tests to runMariano Lopez1
This add the option to select what tests to run in the <module>[.<class>[.<test>]] format. Currently it just support modules Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/decorator: Add skipIfNotDataVar and skipIfNotInDataVarMariano Lopez1
skipIfNotDataVar will skip a test if a variable doesn't have certain value. skipIfNotInDataVar will skip a test if a value is not in a certain variable. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime/utils/targetbuildproject.py: Don't use more than 80 characters ↵Mariano Lopez1
per line Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime/files: Move runtime files from old directoryMariano Lopez4
As part of the refactor we require to move the files used in runtime testing to the new directory. This also adds the path to the runtime test context. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/decorator/data.py: Add skipIfNotFeature decoratorMariano Lopez1
This adds a new decorator to check if image under tests has certain DISTRO_FEATURE or IMAGE_FEATURE. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime: Add OEHasPackage decoratorMariano Lopez1
This new decorator will be used to skip the test if the image under test doesn't have the required packages installed. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime: Add case, context and loader classes for runtime testingMariano Lopez3
This adds OERuntimeTestCase, OERuntimeTestContext, and OERuntimeTestLoader to be used for runtime testing. As expected there are some changes in runtime context: - Adds the target to be used for runtime testing, the default is a SSH connection to the device under test running a OE image. - Runtime context requires image manifest because several tests are skipped if a package is missing or installed. - Several tests require the output of the ps command and it changes its output and arguments if busybox o procps is installed, so the case must use the correct ps command. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/target Add OESSHTarget to sent commands to targets using SSHMariano Lopez2
With this commit now it is possible to add targets with SSH for testing. Most of it was imported for existing code, with improvements in log handling. [YOCTO #10234] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/runtime: Move to runtime_casesAníbal Limón31
The new oeqa core framework will modify the structure of the runtime folder the new runtime folder will have python code inside to support runtime test cases. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa: Fix files handling on runtime tests.Aníbal Limón4
Common files was move to oeqa/files from oeqa/runtime/files because the same files are used across Runtime,SDK,eSDK tests. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/runtime: Fix TargetBuildProject instancesAníbal Limón3
TargetBuildProject was refactored to avoid bitbake dependency so the instance don't allow to pass data store anymore. classes/testimage: Export proxies before run tests The TargetBuildProject based tests download archives from network. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/sdkext/cases: Migrate test case to new OEQA frameworkAníbal Limón4
Summary, - Changes base case class to OESDKExtTest. - Changes decorator classes to new ones. - Chnages variable names sdktestdir -> sdk_dir. - Added missing license to MIT. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/sdkext: Adds case and context modules.Aníbal Limón3
The extensible sdk context and case modules extends the sdk ones, this means that the tests from sdk are run also the sdkext tests. Enables support in context for use oe-test esdk command for run the test suites, the same options of sdk are required for run esdk tests. Removes old related to case and context inside oetest.py. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/sdkext: Move test cases inside cases directoryAníbal Limón3
For match with the new structure of the OEQA framework. In the new framework Test component base directory in this case sdk module will contain case and context implementations. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23classes/testsdk: Remove the need of TEST_LOG_DIR variableAníbal Limón3
The TEST_LOG_DIR was used for store sdk_target_log this log contains the output of the run of build commands now that information could be found also on log.do_testsdk under WORKDIR. The log will continue to store into SDK_DIR instead of TEST_LOG_DIR. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/sdk/cases: Migrate tests to the new OEQA frameworkAníbal Limón7
Summary of the changes: - Remove auto extend_path using pkgutil at __init__, is not needed. - Change base class to OESDKTestCase. - Add td_vars attr to set dependencies of certain variables in test data. - Change skips from module level to class level because Test context (tc) now isn't at module level. - Variable names changes to be consistent (i.e. sdktestdir -> sdk_dir). [YOCTO #10599] - Don't use bb.utils functions use instead remove_safe and shutil for copy files. - SDKBuildProject pass test data variables instead of call getVar inside. [YOCTO #10231] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/utils: {Target,SDK,}BuildProject remove dependency of bbAníbal Limón3
Don't use bitbake references inside utils modules, in order todo that changes getVar calls for arguments in the __init__ method like dl_dir for all the classes and testlogdir, builddatetime in SDKBUildProject. Also don't export proxies inside _download_archive method, a good practice is to setup the proxies at init of the process instead of do it in this helper module. [YOCTO #10231] [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/utils: Move targetbuild to buildproject moduleAníbal Limón5
The new buildproject module will contain only BuildProject class a helper class for build source code. The remaining classes TargetBuildProject and SDKBuildProject was move to runtime and sdk respectively. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/sdk: Add case and context modules for the SDK componentAníbal Limón4
Adds case and context modules for SDK based on oetest.py old code. Enables SDK Test component usage with oe-test, the SDK Test component adds command line options for specify sdk installed dir, sdk environment and target/hosts maniftest. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/{runtime,sdk}/files: Move testsdkmakefile from runtime to sdk moduleAníbal Limón1
It doesn't make sense to have files related to sdk module into runtime module. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/sdk: Move test cases inside cases directoryAníbal Limón7
For match with the new structure of the OEQA framework. In the new framework Test component base directory in this case sdk module will contain case and context implementations. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa: Move common files to oeqa/files instead of runtime onlyAníbal Limón4
Those files are used by runtime and sdk test cases, so move to base directory of oeqa module. [YOCTO #10599] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/utils/__init__.py: Adds compatibility with bitbake loggerMariano Lopez1
The bitbake logger changes the way debug is logged and adds different levels within debug, this is passed as argument to the function and breaks compatibility with vanilla loggers. This implements a way to handle this adding a new function for debug, that will dispatch the correct logging method signature. Also overrides info method to use logging.INFO + 1 in order to see plain data. Also this commit fix the issue of not showing the test summary and results when running from bitbake. [YOCTO #10686] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oe/data: Add export2json functionAníbal Limón1
The export2json function export the variables contained in the data store to JSON format, the main usage for now will be to provide test data to QA framework. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/core: Add READMEAníbal Limón1
The README has an introduction and explains how to run the test suite and creates a new Test component. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/cases: Add example test casesAníbal Limón3
Serves as an first input of how to the OEQA framework works. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/context: Add support of OETestContextExecutorAníbal Limón1
The OETestContextExecutor class supports to use oe-test for run core test component also is a base class for the other test components (runtime, sdk, selftest). Te principal functionality is to support cmdline parsing and execution of OETestContext, the test components could extend the common options to provide specific ones. The common options between test components are test data file, output log and test cases path's to scan. Also it initializes the logger to be passed to the whole OEQA framework. [YOCTO #10230] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core: Add tests for the OEQA frameworkMariano Lopez13
This test suite covers the current functionality for the OEQA framework. For run certain test suite, $ cd meta/lib/oeqa/core/tests $ ./test_data.py Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/decorator: Add support for OETestDataDepends and skipIfDataVarAníbal Limón1
The OETestDataDepends decorator skips a test case if a variable isn't into test data (d). The skipIfDataVar decorator skips a test case if a variable has certain value. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core/decorator: Add support for OETimeout decoratorMariano Lopez1
The OETimeout provides support for specify certain timeout in seconds for a test case, if the timeout is reach the SIGALRM is sent and an exception is raised to notify the timeout. [YOCTO #10235] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/core/decorator: Add support for OETestID and OETestTagMariano Lopez2
These two decorators stores certain TAG or ID for the test case also provides support for filtering in loading step. [YOCTO #10236] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/core/decorator: Add support for OETestDependsAníbal Limón1
The OETestDepends decorator could be used over test cases to define some dependency between them. At loading time sorting the tests to grauntee that a test case executes before also raise an exception if found a circular dependency between test cases. At before test case run reviews if the dependency if meet, in the case of don't it skips the test case run. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core: Add loader, context and decorator modulesAníbal Limón3
loader: Implements OETestLoader handling OETestDecorator and filtering support when load tests. The OETestLoader is responsible to set custom methods, attrs of the OEQA frameowork. [YOCTO #10231] [YOCTO #10317] [YOCTO #10353] decorator: Add base class OETestDecorator to provide a common way to define decorators to be used over OETestCase's, every decorator has a method to be called when loading tests and before test execution starts. Special decorators could be implemented for filter tests on loading phase. context: Provides HIGH level API for loadTests and runTests of certain test component (i.e. runtime, sdk, selftest). [YOCTO #10230] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23oeqa/core: Add utils module for OEQA frameworkMariano Lopez4
misc: Functions for transform object to other types. path: Functions for path handling. test: Functions for operations related to test cases and suites. [YOCTO #10232] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
2017-01-23oeqa/core: Add base OEQA frameworkAníbal Limón4
case: Defines OETestCase base class that provides custom methods/attrs defined by the framework. Every OETestCase instance contains a reference to the test data (d), the test context (tc) and the logger. Also implements _oe{SetUp,TearDown}Class for make special handling of OEQA decorators and validations. runner: Defines OETestRunner/OETestResult with support for RAW and XML result logs. exception: Custom exceptions related to the OEQA framework based on class OEQAException. [YOCTO #10230] [YOCTO #10233] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2017-01-23selftest: fixed 3 wic test casesEd Bartosh1
Fixed test_systemd_bootdisk, test_wic_image_type and test_qemu test cases by building core-image-minimal with correct configuration. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2017-01-23selftest: wic: don't set WKS_FILEEd Bartosh1
Setting WKS_FILE variable should be done only when wic image is expected to be built by bitbake. If it's set for all images it breaks image building in some cases. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2017-01-23wic: fixed test_iso_image test caseEd Bartosh1
Fixed isoimage-isohybrid plulgin and correspondent wic tet case: - used wic-tools target when getting varlue of STAGING_LIBDIR variable - ensured that image is built with efi and hddimg enabled Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>