No project description provided
Project description
UtBot Executor
Util for python code execution and state serialization.
Installation
You can install module from PyPI:
python -m pip install utbot-executor
Usage
From console with socket listener
Run with your <hostname>
and <port>
for socket connection
$ python -m utbot_executor <hostname> <port> <logfile> [<loglevel DEBUG | INFO | ERROR>] <coverage_hostname> <coverage_port>
Request format
{
"functionName": "f",
"functionModule": "my_module.submod1",
"imports": ["sys", "math", "json"],
"syspaths": ["/home/user/my_project/"],
"argumentsIds": ["1", "2"],
"kwargumentsIds": ["4", "5"],
"serializedMemory": "string",
"filepath": ["/home/user/my_project/my_module/submod1.py"],
"coverageId": "1"
}
functionName
- name of the tested functionfunctionModule
- name of the module of the tested functionimports
- all modules which need to run function with current argumentssyspaths
- all syspaths which need to import modules (usually it is a project root)argumentsIds
- list of argument's idskwargumentsIds
- list of keyword argument's idsserializedMemory
- serialized memory throwdeep_serialization
algorithmfilepath
- path to the tested function's containing filecoverageId
- special id witch will be used for sending information about covered lines
Response format:
If execution is successful:
{
"status": "success",
"isException": false,
"statements": [1, 2, 3],
"missedStatements": [4, 5],
"stateInit": "string",
"stateBefore": "string",
"stateAfter": "string",
"diffIds": ["3", "4"],
"argsIds": ["1", "2", "3"],
"kwargs": ["4", "5", "6"],
"resultId": "7"
}
status
- always "success"isException
- boolean value, if it istrue
, execution ended with an exceptionstatements
- list of the numbers of covered rowsmissedStatements
- list of numbers of uncovered rowsstateInit
- serialized states from requeststateBefore
- serialized states of arguments before executionstateAfter
- serialized states of arguments after executiondiffIds
- ids of the objects which have been changedargsIds
- ids of the function's argumentskwargsIds
- ids of the function's keyword argumentsresultId
- id of the returned value
or error format if there was exception in running algorith:
{
"status": "fail",
"exception": "stacktrace"
}
status
- always "fail"exception
- string representation of the exception stack trace
Submodule deep_serialization
JSON serializer and deserializer for python objects
States memory json-format
{
"objects": {
"id": {
"id": "1",
"strategy": "strategy name",
"typeinfo": {
"module": "builtins",
"kind": "int"
},
"comparable": true,
// iff strategy is 'repr'
"value": "1",
// iff strategy is 'list' or 'dict'
"items": ["3", "2"],
// iff strategy = 'reduce'
"constructor": "mymod.A.__new__",
"args": ["mymod.A"],
"state": {"a": "4", "b": "5"},
"listitems": ["7", "8"],
"dictitems": {"ka": "10"}
}
}
}
Source
GitHub repository
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
utbot_executor-1.4.31.1.6.tar.gz
(16.2 kB
view hashes)
Built Distribution
Close
Hashes for utbot_executor-1.4.31.1.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852bd184b23c36efa4a8f7ca560a14cdd13825e5fcba8a79f97fde14ed248e5f |
|
MD5 | 0dc3b2e1b62a6fde6e86a8270771901c |
|
BLAKE2b-256 | fe89203769ee9bd49c2d2ce42fd216618ca3ff36dd9a852525fca70863007164 |
Close
Hashes for utbot_executor-1.4.31.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36cd873425e081ed03be6b57519faff83087949577060f670c58b75c584a501f |
|
MD5 | 1b8555b424227cd3b086aea3cc8662a5 |
|
BLAKE2b-256 | f5842224d6bcdecd17aac56461a75f262ffdc0ef88ae8347a35f24d98c3b6e68 |