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_serializationalgorithmmemoryMode- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|