[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6057/8267] oeqa/core/README: Improve documentation



commit 1974a68926064a7abebedae44658c19d98548730
Author: Leonardo Sandoval <leonardo sandoval gonzalez linux intel com>
Date:   Fri May 26 15:37:48 2017 -0500

    oeqa/core/README: Improve documentation
    
    Most of the text include on this text refactor came from [1].
    
    [1] http://lists.openembedded.org/pipermail/openembedded-architecture/2016-December/000351.html
    
    (From OE-Core rev: 77635ffa3b621add9894ed247dafe146f4af1e84)
    
    Signed-off-by: Leonardo Sandoval <leonardo sandoval gonzalez linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/lib/oeqa/core/README |   81 +++++++++++++++++++++++++++++++++------------
 1 files changed, 60 insertions(+), 21 deletions(-)
---
diff --git a/meta/lib/oeqa/core/README b/meta/lib/oeqa/core/README
index 0c859fd..f67dff7 100644
--- a/meta/lib/oeqa/core/README
+++ b/meta/lib/oeqa/core/README
@@ -1,38 +1,77 @@
-= OEQA Framework =
+= OEQA (v2) Framework =
 
 == Introduction ==
 
-This is the new OEQA framework the base clases of the framework
-are in this module oeqa/core the subsequent components needs to
-extend this classes.
+This is the new (version 2) OEQA framework. Base clases are located inside the
+'oeqa/core' folder and subsequent components needs to extend from these.
 
-A new/unique runner was created called oe-test and is under scripts/
-oe-test, this new runner scans over oeqa module searching for test
-components that supports OETestContextExecutor implemented in context
-module (i.e. oeqa/core/context.py).
+The main design consideration was to implement the needed functionality
+on top of Python unittest framework. To archive the latter, the following
+modules are present:
 
-For execute an example:
+    * oeqa/core/runner.py: Provides OETestResult and OETestRunner base
+      classes extending the unittest ones. This class has the support for
+      export results to different formats currently RAW and XML.
 
-$ source oe-init-build-env
-$ oe-test core
+    * oeqa/core/loader.py: Provides OETestLoader extending unittest ones,
+      also implements unified way for decorator support and for filtering test
+      cases.
 
-For list supported components:
+    * oeqa/core/case.py: Provides OETestCase base class extending
+      unittest.TestCase and provides access to the Test data (td), Test context
+      and Logger functionality.
 
-$ oe-test -h
+    * oeqa/core/decorator: Provides OETestDecorator a new class to implement
+      decorators for Test cases.
 
-== Create new Test component ==
+    * oeqa/core/context: Provides OETestContext a high-level API for
+      loadTests and runTests of certain Test component and
+      OETestContextExecutor a base class to enable oe-test to discover/use
+      the Test component.
 
-Usally for add a new Test component the developer needs to extend
-OETestContext/OETestContextExecutor in context.py and OETestCase in
-case.py.
+In the other hand, a new 'oe-test' runner is located under 'scripts', allowing scans for components
+that supports OETestContextExecutor (see below).
 
-== How to run the testing of the OEQA framework ==
+== Terminology ==
+
+    * Test component: The area of testing in the Project, for example: runtime, SDK, eSDK, selftest.
+
+    * Test data: Data associated with the Test component. Currently we use bitbake datastore as
+      a Test data input.
+
+    * Test context: A context of what tests needs to be run and how to do it, additionally provides
+      access to the Test data and could have custom methods, attrs.
+
+== oe-test ==
+
+The new tool oe-test (located at scripts) has the ability to scan the code base for test
+components and provide a unified way to run test cases. Internally it scans folders inside
+oeqa module in order to find specific classes that
+implements a test component.
+
+== Usage ==
+
+Executing the example test component
+
+    $ source oe-init-build-env
+    $ oe-test core
+
+Getting help
+
+    $ oe-test -h
+
+== Creating new Test Component ==
+
+Adding a new test component the developer needs to extend OETestContext/OETestContextExecutor
+(from context.py) and OETestCase (from case.py)
+
+== Selftesting the framework ==
 
 Run all tests:
 
-$ PATH=$PATH:../../ python3 -m unittest discover -s tests
+    $ PATH=$PATH:../../ python3 -m unittest discover -s tests
 
 Run some test:
 
-$ cd tests/
-$ ./test_data.py
+    $ cd tests/
+    $ ./test_data.py


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]