exasol / integration-test-docker-environment

A docker-based environment for integration tests with the EXASOL DB.
https://exasol.github.io/integration-test-docker-environment/
MIT License
6 stars 2 forks source link

Fix graph plot generator #228

Closed tomuben closed 2 years ago

tomuben commented 2 years ago

When running exaslct test, the latest networkx module throws following error:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/exasol_integration_test_docker_environment/cli/common.py", line 108, in run_task
    handle_success(task, task_dependencies_dot_file, start_time)
  File "/usr/local/lib/python3.8/dist-packages/exasol_integration_test_docker_environment/cli/common.py", line 135, in handle_success
    generate_graph_from_task_dependencies(task, task_dependencies_dot_file)
  File "/usr/local/lib/python3.8/dist-packages/exasol_integration_test_docker_environment/cli/common.py", line 152, in generate_graph_from_task_dependencies
    networkx.nx_pydot.write_dot(g, task_dependencies_dot_file)
  File "/usr/local/lib/python3.8/dist-packages/networkx/utils/decorators.py", line 845, in func
    return argmap._lazy_compile(__wrapper)(*args, **kwargs)
  File "<class 'networkx.utils.decorators.argmap'> compilation 5", line 5, in argmap_write_dot_1
    import itertools
  File "/usr/local/lib/python3.8/dist-packages/networkx/drawing/nx_pydot.py", line 51, in write_dot
    P = to_pydot(G)
  File "/usr/local/lib/python3.8/dist-packages/networkx/drawing/nx_pydot.py", line 263, in to_pydot
    raise ValueError(
ValueError: Node names and attributes should not contain ":" unless they are quoted with "".                For example the string 'attribute:data1' should be written as '"attribute:data1"'.                Please refer https://github.com/pydot/pydot/issues/258

We need to encapsulate all labels in function generate_graph_from_task_dependencies()