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",
"memoryMode": "REDUCE",
"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
algorithmmemoryMode
- serialization mode (PICKLE
,REDUCE
)filepath
- 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.10.0.tar.gz
(19.3 kB
view details)
Built Distribution
File details
Details for the file utbot_executor-1.10.0.tar.gz
.
File metadata
- Download URL: utbot_executor-1.10.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f3015391956d77d64cf822e8c60ef8392e8ecb5bec73dfb25e5989bc31e2e67 |
|
MD5 | 06489b9c8caee5f681801c7b72e167f2 |
|
BLAKE2b-256 | dde674effd43a00a123d133057b9a158b60db211ba389bd0167626e806c3b8df |
File details
Details for the file utbot_executor-1.10.0-py3-none-any.whl
.
File metadata
- Download URL: utbot_executor-1.10.0-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bfd29bc0cc7682395298c93d06527b646c1ea0ea33715773d5677ff3e3d5e59 |
|
MD5 | b4d5850ab944308013694c113f351fdb |
|
BLAKE2b-256 | b714563df0121edf9de98bd1c5d3ab4d4805dfabd707466edab80225455a9826 |