Граф коммитов

68 Коммитов

Автор SHA1 Сообщение Дата
Chi Song ca7481b9a3 test: fix inconsistent inherits 2022-01-20 10:47:28 -08:00
Divyansh 23ad859b59 Add mock runner 2021-09-29 20:10:34 -07:00
Divyansh a3f9c1facd
Add l3_cache_check test (#1473)
* Add parsed kernel information to UnameResult

* Add l3_cache_check CPU test

Co-authored-by: Divyansh <divyan@microsoft.com>
2021-08-17 21:56:01 -07:00
Chi Song 2288218a7f Support use_new_environment on test metadata 2021-08-11 10:58:48 -07:00
Chi Song 7661a764f2 cases: move frequent used things to root package 2021-08-02 11:23:28 -07:00
Chi Song 789a97a9f4 testcase: log into separated files
1. Enable test case level log file.
2. Update all test cases to use the case level log, not test suite level
   log.
2021-08-02 11:23:28 -07:00
Chi Song 2b15949653 environment remove allow_create flag
if there is predefined environment in runbook, it doesn't allow to
create environment automatically. For the usage scenarios, if there is
predefined environment, it's confusing to have generated environments.
This change force to use predefined environment for all test cases.

Improved UTs, add checks on case names
2021-06-02 18:22:36 -07:00
Chi Song 60ce6d682c examples: make hello world can run on windows. 2021-06-01 22:39:36 -07:00
Chi Song 5b94d85363 use node in helloworld example
The single node is used in most test cases. Use node as much as possible
 in examples.
2021-05-10 20:05:36 -07:00
Chi Song a38ddef31a Node: split node to RemoteNode and LocalNode
With this change, the code structure is more clear. The node is extendable
now, but it's not recommended to extend node with new schema. Because
the node is the isolate components, it should be the abstract SUT, so
that LISA features can run well with it. If the node schema is extended,
it means a node must be defined in runbook, not be managed by platform.
In this situation, the resource of node is fixed, not be able to reused
in other environments dynamically.

Co-authored-by: Gustavo Lima Chaves <gustavo.chaves@microsoft.com>
2021-04-28 09:58:22 -07:00
Chi Song 74888c6171 Support cache result at tool level
Many commands get same result when it reruns. So enable cached result by
default to save run time. Update withscript to force_rerun to demo for
how to use it too.
2021-03-31 12:38:32 +08:00
Gustavo Lima Chaves a5268694be poetry: update mypy to version "^0.812"
This version has more power on type assertions, and we can get rid of
a bunch of "# type: ignore" entries. My theory is that they point a
newer release of Typeshed (https://github.com/python/typeshed), so
that we have more type annotations available.

Real mistakes have been caught with this update, BTW.
2021-03-30 13:40:21 +08:00
Chi Song c0992679b0 refactoring: fix inherits relationship of Posix os
Add Posix for Linux and Bsd and fix some names to keep consistent.
2021-03-23 11:01:22 +08:00
Chi Song cf614e79b7 add addtional args to test helper methods
Add environment, node and other args to before/after_suite/case. To
prevent error on inconsistent method signature, it has to keep kwargs
style. Another way is to expand every argument, it's more ugly than
current.
2021-03-22 09:10:48 +08:00
Chi Song 0315e2de50 improve experience of test code
1. pass environment and node as test case methods. It's more like
    functional programming and more friendly.
2. add Node and Environment to package level types, since it's used by
    test code writer frequently.
3. update test cases to use new pattern.
2021-03-22 09:10:48 +08:00
Chi Song 159678dacd fix failed case on local run
disallow create env in default run, so it won't faield on creating env.
2021-03-11 18:29:18 +08:00
Chi Song 2d3b7e5516 update tags to optional, and align area with v2. 2021-03-04 16:27:28 +08:00
Chi Song 0d068eabe1 add license header on python files 2021-03-04 16:27:28 +08:00
Chi Song 4f973b1414 Fix typos 2021-03-04 16:27:28 +08:00
Chi Song a3a4701646 implement html report 2021-02-28 11:12:45 +08:00
Chi Song db45c8d9b4 switch to assertpy package
assertpy package is more popular and powerful, so switch to it.

It doesn't support typing, but it's important to experience, so add it.
2021-02-23 12:59:54 +08:00
Chi Song 5c630d1a6c Fix extensions to use new schema 2021-02-23 12:59:54 +08:00
Chi Song 787c60d204 Yaml: change Camel case to snake_case in yaml
The camelCase is recommended in yaml, but it's different with Python
style. The trouble is when searching in yaml, it's hard to find Python
schema, and versus. So change to use snake_case, for easier searching.
2021-02-02 07:00:00 +08:00
LiliDeng 6dd4d1a246
Update kernel version, insert image, platform, vmsize info into testresultmessage. (#1080) 2020-11-03 15:19:52 +08:00
Chi Song 53d5be4fcf rename test case send_receive
rename send_receive to
perf_network_tcp_ipv4_throughput_ntttcp_synthetic_singleconnection
2020-10-26 12:32:59 +08:00
Chi Song b4d51c6d08 add throughput parsing for ntttcp 2020-10-26 12:32:59 +08:00
Chi Song 31c5c4ba13 improve log string and levels to be readable 2020-10-26 12:32:59 +08:00
Chi Song 447011b1e7 remove unittest.TestCase
as we have different suite/case definition as unittest, it's confusing
to use assertions in unittest. So use the separated asserts package.
2020-10-26 09:42:34 +08:00
Chi Song 98ef17cf58 implement sample console notifier 2020-10-03 07:11:02 +08:00
Chi Song 4d35c13455 change provisioning case to a real case from demo 2020-10-03 07:11:02 +08:00
Chi Song d273d7db8d fix failure on withscript case.
The timer is not reliable on local run.
2020-10-03 07:11:02 +08:00
Chi Song 972a75e53b Add restart test case for demostration 2020-10-03 07:11:02 +08:00
Chi Song 3879356cd1 remove deprecated assert 2020-09-22 09:34:15 +08:00
Chi Song 34d82580a8 Implement to deploy multiple nics
Since arm doesn't support nested loop, so use nested template to
workaround. Also add field and logic to support it.

other changes,
1. adjust priority of demo test cases, so easy to select by priority.
2. Remove AzureArmParameterNode, reuse AzureNodeSchema as their schema
    is almost the same.
3. some performance tuning like adjust loop priority, reuse caches.
4. remove some unused code.
5. improve log messages.
6. other minor improvements.
2020-09-21 12:46:00 +08:00
Chi Song c9f23c1271 update example runbooks
add azure runbook
remove confused local_dev, local dev can use hello_world
2020-09-17 07:32:15 +08:00
Chi Song 6bd5f6c2a3 fix conflict on import same name folders
add a prefix module name, and change the approach to import package.

other updates,
1. simplify hello_world runbook
2. fix words
2020-09-17 07:32:15 +08:00
Chi Song a698de989e support OS detection and add some tools
1. update OS to support Ubuntu and CentOS
2. add logic to detect OS.
3. support package installation
4. add gcc, make tools
5. support git, ntttcp install
6. other minor improvements
2020-09-17 07:32:15 +08:00
Chi Song 75ce9d66d2 support test case requirement flow
1. add work flow to create env from cases.
2. add capability on environment and node.
3. add EnvironmentSpace for requirement and capability.
4. add prepare_environment method to match capability and requirements
5. use delay node schema nodes replace ugly package instrument.
6. move some test only code to test file.
7. add create factory to support windows tools.
8. support test case settings like retry, times, and so on.
9. other minor improvements.
2020-09-17 07:32:15 +08:00
Chi Song 6385e90ddc add operating_system and initialable mixin
1. add operating system package for os information
2. add initialable mixin for reusing code
3. improve test suite message
4. other minor improvements
2020-09-17 07:32:15 +08:00
Chi Song bd9c233e9f add multiple nodes demo case 2020-09-17 07:32:15 +08:00
Chi Song 9cce7a727a bug fixes and refactoring
1. rename test file for consistent
2. fix log path regression bug
3. use peotry 1.1.0b2 for linux
4. other fixes and improvements
2020-09-17 07:32:15 +08:00
Chi Song 5822277899 unify names to runbook
change most config, schema, data to runbook for clearer term
2020-09-01 10:02:58 +08:00
Chi Song 18b0f902c2 rename package tool to tools 2020-08-26 14:10:23 +08:00
Chi Song 33e9e30445 refactor: use dict for collections
1. add environments, nodes, platforms classes like a collection.
2. add tools to use a tool like [ToolType], and move related code to
    executable.
3. other minor improvements.
2020-08-19 11:58:03 +08:00
Chi Song db1170f433 Add schema validation
1. add cerberus to validate schema.
2. remove full.yml, and add schema.yml as schema
3. fix schema due to new schema
2020-08-19 11:58:03 +08:00
Chi Song 846f139afa merge files to be pythonic
Python file is a module, which is not used to put only one thing.
All related things should be put in same module.

platform.py causes error in uuid.py, so change name to platform_.py
2020-08-19 11:58:03 +08:00
Chi Song 7b49a50df7 provide a simple way to use tool
1. add LightTool to support oneline call to script
2. add default function for tool class
2020-08-19 11:58:03 +08:00
Chi Song f633db1d91 refine log to output meaningful prefix 2020-08-19 11:58:03 +08:00
Chi Song bc8c5ffc16 add statistics and test result for test progress
1. add statistics and test result for test case progress
2. inherit from unittest to get all assert methods
3. add perf_timer for profiling, and improve current profiling
4. add document for tool.py
5. add init.py for mypy checking
6. other minor improvements
2020-08-19 11:58:03 +08:00
Chi Song 7f6f6be987
Implement custom script (#965)
* Implement custom script

1. Implement custom script. As it's same type with different data, so it's different with tools. CustomScriptBuilder to create an instance of script on Node.
2. rename method and variables to follow pep8 guidaline.
3. rename [Suite/Case]Metadata to [TestSuite/TestCase]Metadata
4. create LisaException to all internal exceptions
5. other minor improvements
2020-08-13 15:33:58 +08:00