robotframework-pabot 2.16.0__tar.gz → 2.17.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/PKG-INFO +2 -4
  2. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/__init__.py +1 -1
  3. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/arguments.py +18 -6
  4. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/pabot.py +20 -7
  5. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/pabotlib.py +8 -3
  6. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/PKG-INFO +2 -4
  7. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/entry_points.txt +0 -1
  8. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/LICENSE.txt +0 -0
  9. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/MANIFEST.in +0 -0
  10. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/README.md +0 -0
  11. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/pyproject.toml +0 -0
  12. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/setup.cfg +0 -0
  13. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/setup.py +0 -0
  14. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/SharedLibrary.py +0 -0
  15. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/clientwrapper.py +0 -0
  16. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/coordinatorwrapper.py +0 -0
  17. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/execution_items.py +0 -0
  18. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/py3/__init__.py +0 -0
  19. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/py3/client.py +0 -0
  20. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/py3/coordinator.py +0 -0
  21. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/py3/messages.py +0 -0
  22. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/py3/worker.py +0 -0
  23. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/result_merger.py +0 -0
  24. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/robotremoteserver.py +0 -0
  25. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/pabot/workerwrapper.py +0 -0
  26. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/SOURCES.txt +0 -0
  27. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/dependency_links.txt +0 -0
  28. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/requires.txt +0 -0
  29. {robotframework-pabot-2.16.0 → robotframework-pabot-2.17.0}/src/robotframework_pabot.egg-info/top_level.txt +0 -0
@@ -1,14 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotframework-pabot
3
- Version: 2.16.0
3
+ Version: 2.17.0
4
4
  Summary: Parallel test runner for Robot Framework
5
5
  Home-page: https://pabot.org
6
+ Download-URL: https://pypi.python.org/pypi/robotframework-pabot
6
7
  Author: Mikko Korpela
7
8
  Author-email: mikko.korpela@gmail.com
8
9
  License: Apache License, Version 2.0
9
- Download-URL: https://pypi.python.org/pypi/robotframework-pabot
10
10
  Project-URL: Source, https://github.com/mkorpela/pabot
11
- Platform: UNKNOWN
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: Natural Language :: English
14
13
  Classifier: Programming Language :: Python :: 3
@@ -20,4 +19,3 @@ Requires-Python: >=3.6
20
19
  License-File: LICENSE.txt
21
20
 
22
21
  A parallel executor for Robot Framework tests. With Pabot you can split one execution into multiple and save test execution time.
23
-
@@ -1,4 +1,4 @@
1
1
  from __future__ import absolute_import
2
2
 
3
3
  from .pabotlib import PabotLib
4
- __version__ = "2.16.0"
4
+ __version__ = "2.17.0"
@@ -28,21 +28,33 @@ def _processes_count(): # type: () -> int
28
28
  return 2
29
29
 
30
30
 
31
+ def _filter_argument_parser_options(**options):
32
+ # Note: auto_pythonpath is deprecated since RobotFramework 5.0, but only
33
+ # communicated to users from 6.1
34
+ if ROBOT_VERSION >= "5.0" and "auto_pythonpath" in options:
35
+ del options["auto_pythonpath"]
36
+ return options
37
+
38
+
31
39
  def parse_args(
32
40
  args,
33
41
  ): # type: (List[str]) -> Tuple[Dict[str, object], List[str], Dict[str, object], Dict[str, object]]
34
42
  args, pabot_args = _parse_pabot_args(args)
35
43
  options, datasources = ArgumentParser(
36
44
  USAGE,
37
- auto_pythonpath=False,
38
- auto_argumentfile=True,
39
- env_options="ROBOT_OPTIONS",
45
+ **_filter_argument_parser_options(
46
+ auto_pythonpath=False,
47
+ auto_argumentfile=True,
48
+ env_options="ROBOT_OPTIONS",
49
+ ),
40
50
  ).parse_args(args)
41
51
  options_for_subprocesses, sources_without_argfile = ArgumentParser(
42
52
  USAGE,
43
- auto_pythonpath=False,
44
- auto_argumentfile=False,
45
- env_options="ROBOT_OPTIONS",
53
+ **_filter_argument_parser_options(
54
+ auto_pythonpath=False,
55
+ auto_argumentfile=False,
56
+ env_options="ROBOT_OPTIONS",
57
+ ),
46
58
  ).parse_args(args)
47
59
  if len(datasources) != len(sources_without_argfile):
48
60
  raise DataError(
@@ -114,7 +114,11 @@ from robot.running import TestSuiteBuilder
114
114
  from robot.utils import PY2, SYSTEM_ENCODING, ArgumentParser, is_unicode
115
115
 
116
116
  from . import pabotlib, __version__ as PABOT_VERSION
117
- from .arguments import parse_args, parse_execution_item_line
117
+ from .arguments import (
118
+ parse_args,
119
+ parse_execution_item_line,
120
+ _filter_argument_parser_options,
121
+ )
118
122
  from .clientwrapper import make_order
119
123
  from .execution_items import (
120
124
  DynamicSuiteItem,
@@ -638,9 +642,11 @@ def _options_for_executor(
638
642
  def _modify_options_for_argfile_use(argfile, options, root_name):
639
643
  argfile_opts, _ = ArgumentParser(
640
644
  USAGE,
641
- auto_pythonpath=False,
642
- auto_argumentfile=True,
643
- env_options="ROBOT_OPTIONS",
645
+ **_filter_argument_parser_options(
646
+ auto_pythonpath=False,
647
+ auto_argumentfile=True,
648
+ env_options="ROBOT_OPTIONS",
649
+ ),
644
650
  ).parse_args(["--argumentfile", argfile])
645
651
  old_name = options.get("name", root_name)
646
652
  if argfile_opts["name"]:
@@ -1142,9 +1148,16 @@ def generate_suite_names_with_builder(outs_dir, datasources, options):
1142
1148
  if "pythonpath" in opts:
1143
1149
  del opts["pythonpath"]
1144
1150
  settings = RobotSettings(opts)
1145
- builder = TestSuiteBuilder(
1146
- settings["SuiteNames"], settings.extension, rpa=settings.rpa
1147
- )
1151
+
1152
+ # Note: first argument (included_suites) is deprecated from RobotFramework 6.1
1153
+ if ROBOT_VERSION < "6.1":
1154
+ builder = TestSuiteBuilder(
1155
+ settings["SuiteNames"], settings.extension, rpa=settings.rpa
1156
+ )
1157
+ else:
1158
+ builder = TestSuiteBuilder(
1159
+ included_extensions=settings.extension, rpa=settings.rpa
1160
+ )
1148
1161
  suite = builder.build(*datasources)
1149
1162
  settings.rpa = builder.rpa
1150
1163
  suite.configure(**settings.suite_config)
@@ -31,7 +31,8 @@ from typing import Any, Dict, Iterable, List, Optional, Set, Tuple
31
31
  from robot.api import logger
32
32
  from robot.libraries.BuiltIn import BuiltIn
33
33
  from robot.libraries.Remote import Remote
34
- from robot.running import TestLibrary
34
+ from robot.utils.importer import Importer
35
+ from robot.libraries import STDLIBS
35
36
 
36
37
  from .robotremoteserver import RobotRemoteServer
37
38
 
@@ -157,9 +158,13 @@ class _PabotLib(object):
157
158
  def import_shared_library(self, name, args=None): # type: (str, Iterable[Any]|None) -> int
158
159
  if name in self._remote_libraries:
159
160
  return self._remote_libraries[name][0]
160
- imported = TestLibrary(name, args=args)
161
+ if name in STDLIBS:
162
+ import_name = 'robot.libraries.' + name
163
+ else:
164
+ import_name = name
165
+ imported = Importer('library').import_class_or_module(name_or_path=import_name, instantiate_with_args=args)
161
166
  server = RobotRemoteServer(
162
- imported.get_instance(), port=0, serve=False, allow_stop=True
167
+ imported, port=0, serve=False, allow_stop=True
163
168
  )
164
169
  server_thread = threading.Thread(target=server.serve)
165
170
  server_thread.start()
@@ -1,14 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotframework-pabot
3
- Version: 2.16.0
3
+ Version: 2.17.0
4
4
  Summary: Parallel test runner for Robot Framework
5
5
  Home-page: https://pabot.org
6
+ Download-URL: https://pypi.python.org/pypi/robotframework-pabot
6
7
  Author: Mikko Korpela
7
8
  Author-email: mikko.korpela@gmail.com
8
9
  License: Apache License, Version 2.0
9
- Download-URL: https://pypi.python.org/pypi/robotframework-pabot
10
10
  Project-URL: Source, https://github.com/mkorpela/pabot
11
- Platform: UNKNOWN
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: Natural Language :: English
14
13
  Classifier: Programming Language :: Python :: 3
@@ -20,4 +19,3 @@ Requires-Python: >=3.6
20
19
  License-File: LICENSE.txt
21
20
 
22
21
  A parallel executor for Robot Framework tests. With Pabot you can split one execution into multiple and save test execution time.
23
-