robotcode-runner 2.8.0.dev548__py3-none-any.whl → 2.8.0.dev631__py3-none-any.whl

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.
@@ -1 +1 @@
1
- __version__ = "2.8.0-dev.548"
1
+ __version__ = "2.8.0-dev.631"
@@ -345,9 +345,13 @@ class Collector(SuiteVisitor):
345
345
  self._collected.pop()
346
346
 
347
347
  def visit_test(self, test: TestCase) -> None:
348
+ # A custom parser or a pre-run modifier may create a test without a line number. Robot Framework's lines start
349
+ # at 1, so such a test gets 0 in its ID, as the debugger's events do, and no line and no range.
350
+ lineno = test.lineno or None
351
+
348
352
  if test.name in self._collected[-1]:
349
353
  LOGGER.warn(
350
- f"Warning in file '{test.source}' on line {test.lineno}: "
354
+ f"Warning in file '{test.source}'{f' on line {lineno}' if lineno else ''}: "
351
355
  f"Multiple {'task' if test.parent.rpa else 'test'}s with name '{test.name}' in suite "
352
356
  f"'{test.parent.longname}'."
353
357
  )
@@ -359,16 +363,20 @@ class Collector(SuiteVisitor):
359
363
  absolute_path = normalized_path(Path(test.source)) if test.source is not None else None
360
364
  item = TestItem(
361
365
  type="task" if self._current.rpa else "test",
362
- id=f"{absolute_path or ''};{test.longname};{test.lineno}",
366
+ id=f"{absolute_path or ''};{test.longname};{lineno or 0}",
363
367
  name=test.name,
364
368
  longname=test.longname,
365
- lineno=test.lineno,
369
+ lineno=lineno,
366
370
  uri=str(Uri.from_path(absolute_path)) if absolute_path else None,
367
371
  source=str(test.source),
368
372
  rel_source=get_rel_source(test.source),
369
- range=Range(
370
- start=Position(line=test.lineno - 1, character=0),
371
- end=Position(line=test.lineno - 1, character=0),
373
+ range=(
374
+ Range(
375
+ start=Position(line=lineno - 1, character=0),
376
+ end=Position(line=lineno - 1, character=0),
377
+ )
378
+ if lineno
379
+ else None
372
380
  ),
373
381
  tags=sorted(set(normalize(str(t), ignore="_") for t in test.tags)) if test.tags else None,
374
382
  metadata=get_test_metadata(test) or None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: robotcode-runner
3
- Version: 2.8.0-dev.548
3
+ Version: 2.8.0-dev.631
4
4
  Summary: RobotCode runner for Robot Framework
5
5
  Project-URL: Homepage, https://robotcode.io
6
6
  Project-URL: Donate, https://opencollective.com/robotcode
@@ -26,10 +26,10 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
26
26
  Classifier: Topic :: Utilities
27
27
  Classifier: Typing :: Typed
28
28
  Requires-Python: >=3.10
29
- Requires-Dist: robotcode-modifiers==2.8.0-dev.548
30
- Requires-Dist: robotcode-plugin==2.8.0-dev.548
31
- Requires-Dist: robotcode-robot==2.8.0-dev.548
32
- Requires-Dist: robotcode==2.8.0-dev.548
29
+ Requires-Dist: robotcode-modifiers==2.8.0-dev.631
30
+ Requires-Dist: robotcode-plugin==2.8.0-dev.631
31
+ Requires-Dist: robotcode-robot==2.8.0-dev.631
32
+ Requires-Dist: robotcode==2.8.0-dev.631
33
33
  Requires-Dist: robotframework>=5.0.0
34
34
  Provides-Extra: html
35
35
  Requires-Dist: html-to-markdown>=2.0; extra == 'html'
@@ -1,5 +1,5 @@
1
1
  robotcode/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- robotcode/runner/__version__.py,sha256=4qGR5Sg7VszfoERVpnszHJ_tsWJ0G_bUZdheH0_dqx4,30
2
+ robotcode/runner/__version__.py,sha256=9SGjqX5uvERIavT5Cjgw0TSLgQ-nKCFaQ13-E6K7MDA,30
3
3
  robotcode/runner/hooks.py,sha256=MSqEHc3wQIBgCXf9U9B0sA_zE8vbiTdoAlfaWz_3uIo,270
4
4
  robotcode/runner/py.typed,sha256=bWew9mHgMy8LqMu7RuqQXFXLBxh2CRx0dUbSx-3wE48,27
5
5
  robotcode/runner/cli/__init__.py,sha256=ozQtrMXxWIlJz3QKZhaGEIDjSCL0TPtF1XeP8WL8HrE,240
@@ -13,13 +13,13 @@ robotcode/runner/cli/testdoc.py,sha256=UMpa1GOuyAIENGziepSprM4vHmR0QNfyBYWKN9cqd
13
13
  robotcode/runner/cli/discover/__init__.py,sha256=CRFSvVDlOX1avV3kx-d2QUOugDvgKPy8RBApsAUq15s,55
14
14
  robotcode/runner/cli/discover/_models.py,sha256=mkRwJTyQUWLVGbupCtYMVAHFhUouuMJ3TfR7_gz_lZI,2127
15
15
  robotcode/runner/cli/discover/_render.py,sha256=3GYv0bNPVOLDAabg6FYXmbCDLLztjeLFrEhj-1inUvY,20091
16
- robotcode/runner/cli/discover/discover.py,sha256=joZHF2UPdJ8v6b3OxfBkhl4Z2aGtaxzRObVLEZTxM3U,46621
16
+ robotcode/runner/cli/discover/discover.py,sha256=_YFeseR5pGPHIhltiwuNrxbHlk_uCcyB0cygyHPpOQM,46997
17
17
  robotcode/runner/cli/results/__init__.py,sha256=aEyNen0WWvq3kF_VTRLz99_B5CMChM0aelpzWKW6Rac,52
18
18
  robotcode/runner/cli/results/_html.py,sha256=MD_6RZMeYNORFOINB8RJA8UhKEgXl6pldCToF51Y3qo,19422
19
19
  robotcode/runner/cli/results/_models.py,sha256=ESn9VKIF-mySCnE144wNoYMmYMKuniZKQW5O61lko5I,7458
20
20
  robotcode/runner/cli/results/_render.py,sha256=9DNk1d7F01bGQBCKBgtcqw_asvmnX1pJ02-kU02ptss,32471
21
21
  robotcode/runner/cli/results/results.py,sha256=CljvnJ_k2qJAYAubspLq-b7s3GNYsuXE42C5lzJ6K6k,73723
22
- robotcode_runner-2.8.0.dev548.dist-info/METADATA,sha256=WCMmPwAz0l6ts9mO40ULysTr0gC3ZhBrewgC9s6P0Q0,3059
23
- robotcode_runner-2.8.0.dev548.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
24
- robotcode_runner-2.8.0.dev548.dist-info/entry_points.txt,sha256=igwjQYHlUfgCN-SohGVeQOnxOtqUzd2Jq94Ie8Se1Aw,44
25
- robotcode_runner-2.8.0.dev548.dist-info/RECORD,,
22
+ robotcode_runner-2.8.0.dev631.dist-info/METADATA,sha256=ht_46aXtUhaRNt6FwM2gStiJHLgvIn_PSnKBkiX9mAw,3059
23
+ robotcode_runner-2.8.0.dev631.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
24
+ robotcode_runner-2.8.0.dev631.dist-info/entry_points.txt,sha256=igwjQYHlUfgCN-SohGVeQOnxOtqUzd2Jq94Ie8Se1Aw,44
25
+ robotcode_runner-2.8.0.dev631.dist-info/RECORD,,