Skip to main content

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 function
  • functionModule - name of the module of the tested function
  • imports - all modules which need to run function with current arguments
  • syspaths - all syspaths which need to import modules (usually it is a project root)
  • argumentsIds - list of argument's ids
  • kwargumentsIds - list of keyword argument's ids
  • serializedMemory - serialized memory throw deep_serialization algorithm
  • memoryMode - serialization mode (PICKLE, REDUCE)
  • filepath - path to the tested function's containing file
  • coverageId - 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 is true, execution ended with an exception
  • statements - list of the numbers of covered rows
  • missedStatements - list of numbers of uncovered rows
  • stateInit - serialized states from request
  • stateBefore - serialized states of arguments before execution
  • stateAfter - serialized states of arguments after execution
  • diffIds - ids of the objects which have been changed
  • argsIds - ids of the function's arguments
  • kwargsIds - ids of the function's keyword arguments
  • resultId - 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)

Uploaded Source

Built Distribution

utbot_executor-1.10.0-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

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

Hashes for utbot_executor-1.10.0.tar.gz
Algorithm Hash digest
SHA256 9f3015391956d77d64cf822e8c60ef8392e8ecb5bec73dfb25e5989bc31e2e67
MD5 06489b9c8caee5f681801c7b72e167f2
BLAKE2b-256 dde674effd43a00a123d133057b9a158b60db211ba389bd0167626e806c3b8df

See more details on using hashes here.

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

Hashes for utbot_executor-1.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bfd29bc0cc7682395298c93d06527b646c1ea0ea33715773d5677ff3e3d5e59
MD5 b4d5850ab944308013694c113f351fdb
BLAKE2b-256 b714563df0121edf9de98bd1c5d3ab4d4805dfabd707466edab80225455a9826

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page