Skip to content

Conversation

@Konboi
Copy link
Contributor

@Konboi Konboi commented Dec 5, 2024

SSIA

Summary by CodeRabbit

  • New Features

    • Enhanced test reporting with additional fields for testSuite and flavors.
  • Bug Fixes

    • Improved error handling for session and build checks, providing clearer warnings.
  • Improvements

    • Streamlined session management and timestamp handling for better accuracy and clarity.
    • Updated test methods to include new fields in the payload for recording tests.
    • Refined logic for constructing payloads during test recording.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 5, 2024

Walkthrough

The changes in the pull request enhance the tests command within the launchable/commands/record/tests.py file. Key updates include modifications to the payload structure for test reporting, improvements in error handling and session management, and the introduction of new properties in the RecordTests class. Additional fields, testSuite and flavors, are added to various JSON structures across multiple test result files. These adjustments aim to provide clearer feedback and more robust handling of test results, particularly when using the no-build option.

Changes

File Path Change Summary
launchable/commands/record/tests.py - Updated payload structure to include testSuite and flavors fields for no-build option.
- Enhanced error handling in the send function for session and build checks.
- Adjusted RecordTests class with new properties and methods for test result reporting.
- Streamlined session management logic for ID and record start time determination.
- Modified get_record_start_at method for accurate timestamp handling.
- Updated method signature of payload to include additional parameters test_suite and flavors.
- Added properties test_suite and flavors in RecordTests class.
tests/data/*.json - Added new fields flavors (empty array) and testSuite (empty string) to various test result JSON files.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TestsCommand
    participant RecordTests
    participant PayloadHandler

    User->>TestsCommand: Invoke tests command
    TestsCommand->>RecordTests: Initialize session
    RecordTests->>PayloadHandler: Prepare payload with testSuite and flavors
    PayloadHandler-->>RecordTests: Return modified payload
    RecordTests->>TestsCommand: Send payload for reporting
    TestsCommand->>User: Provide feedback on test results
Loading

🐇 "In the land of code where the tests do play,
New properties added, hip-hip-hooray!
With payloads richer and errors less,
Our rabbit team hops, feeling truly blessed.
So let's record and report with glee,
For a smoother journey, just wait and see!" 🐇✨

Possibly related PRs

  • Support flutter  #947: The changes in this PR involve the addition of new fields (flavors and testSuite) in the JSON structure for Flutter test results, which aligns with the modifications made in the main PR regarding the payload structure updates in launchable/commands/record/tests.py.

Suggested reviewers

  • ninjinkun

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3e19fc6 and 738029a.

📒 Files selected for processing (1)
  • launchable/commands/record/tests.py (1 hunks)

Comment on lines 466 to 476
return {
"events": cs,
"testRunner": test_runner,
"group": group,
"metadata": get_env_values(client),
"noBuild": self.is_no_build,
# NOTE:
# testSuite and flavors are applied only when the no-build option is enabled
"testSuite": test_suite,
"flavors": flavor,
}, exs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Undefined variables test_suite and flavor in payload function

The variables test_suite and flavor used in the payload dictionary are not defined within the scope of the payload function. This will result in a NameError when the function is executed.

To fix this issue, you can either pass test_suite and flavor as parameters to the payload function or access them as instance variables of the RecordTests class.

Solution 1: Pass test_suite and flavor as parameters

Modify the payload function signature to include test_suite and flavor, and update the calls to this function.

 def payload(cases: Generator[TestCase, None, None],
             test_runner, group: str,
+            test_suite: Optional[str], flavor: Sequence[Tuple[str, str]]) -> Tuple[Dict[str, Union[str, List, dict, bool]], List[Exception]]:
     # existing code
     return {
         "events": cs,
         "testRunner": test_runner,
         "group": group,
         "metadata": get_env_values(client),
         "noBuild": self.is_no_build,
         # NOTE:
         # testSuite and flavors are applied only when the no-build option is enabled
-        "testSuite": test_suite,
-        "flavors": flavor,
+        "testSuite": test_suite,
+        "flavors": flavor,
     }, exs

Update the calls to payload to include self.test_suite and self.flavor:

 # Within the run method
-    for chunk in ichunked(tc, post_chunk):
-        p, es = payload(chunk, test_runner, group)
+    for chunk in ichunked(tc, post_chunk):
+        p, es = payload(chunk, test_runner, group, self.test_suite, self.flavor)

Solution 2: Access test_suite and flavor as instance variables

Assign test_suite and flavor as instance variables in the RecordTests class and reference them using self in the payload function.

 # In the __init__ method of RecordTests, add parameters and assign to instance variables
 def __init__(self, dry_run=False,
+             test_suite: Optional[str] = None, flavor: Sequence[Tuple[str, str]] = ()):
     # existing code
     self.is_no_build = is_no_build
     self.metadata_builder = CaseEvent.default_data_builder()
+    self.test_suite = test_suite
+    self.flavor = flavor

 # In the payload function, reference instance variables
 def payload(cases: Generator[TestCase, None, None],
             test_runner, group: str) -> Tuple[Dict[str, Union[str, List, dict, bool]], List[Exception]]:
     # existing code
     return {
         "events": cs,
         "testRunner": test_runner,
         "group": group,
         "metadata": get_env_values(client),
         "noBuild": self.is_no_build,
         # NOTE:
         # testSuite and flavors are applied only when the no-build option is enabled
-        "testSuite": test_suite,
-        "flavors": flavor,
+        "testSuite": self.test_suite,
+        "flavors": self.flavor,
     }, exs

Ensure that you pass test_suite and flavor when instantiating RecordTests:

 # At the end of the tests function
-context.obj = RecordTests(dry_run=context.obj.dry_run)
+context.obj = RecordTests(dry_run=context.obj.dry_run, test_suite=test_suite, flavor=flavor)

Committable suggestion skipped: line range outside the PR's diff.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (5)
tests/data/behave/record_test_result.json (1)

28-30: LGTM! Consider adding documentation.

The addition of flavors and testSuite fields is consistent with the PR objectives. The initialization values are appropriate for backward compatibility.

Consider documenting these new fields in the schema documentation or README to help users understand their purpose and usage.

tests/data/nunit/record_test_result-windows.json (1)

109-111: LGTM! Consider adding documentation

The implementation is consistent with other test runners. Since this is a new feature, consider documenting:

  1. The purpose and usage of flavors and testSuite fields
  2. How these fields interact with the no-build option

Would you like me to help draft the documentation for these new fields?

tests/data/dotnet/record_test_result.json (1)

110-112: LGTM! Consider documenting the new fields.

The addition of flavors and testSuite fields is consistent with the PR objectives. The initialization values are appropriate for the test fixture.

Consider adding a comment in the test file or documentation explaining the purpose and expected values of these new fields for future maintainers.

tests/data/cucumber/record_test_result.json (1)

Line range hint 62-64: Systematic enhancement of test result schema

The consistent addition of noBuild, flavors, and testSuite fields across different test runner result files indicates a well-planned enhancement to support test suite configurations and flavor options. This systematic approach ensures uniform handling of these features across different test runners.

Also applies to: 248-250, 292-294

tests/test_runners/test_raw.py (1)

288-289: LGTM! Consider adding test cases for non-empty values.

The addition of flavors and testSuite fields to the payload is correct. However, consider adding test cases that verify the behavior with non-empty flavors array and non-null testSuite value to ensure complete coverage.

Example test case to add:

# Test with non-empty values
result = self.cli('record', 'tests', '--flavor', 'unit', '--test-suite', 'regression', 'raw', test_path_file, mix_stderr=False)
# Assert payload contains:
# "flavors": ["unit"]
# "testSuite": "regression"
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 738029a and d10d774.

📒 Files selected for processing (31)
  • tests/data/ant/record_test_result.json (1 hunks)
  • tests/data/bazel/record_test_result.json (1 hunks)
  • tests/data/bazel/record_test_with_build_event_json_result.json (1 hunks)
  • tests/data/bazel/record_test_with_multiple_build_event_json_result.json (1 hunks)
  • tests/data/behave/record_test_result.json (1 hunks)
  • tests/data/ctest/record_test_result.json (1 hunks)
  • tests/data/cts/record_test_result.json (1 hunks)
  • tests/data/cucumber/record_test_json_result.json (1 hunks)
  • tests/data/cucumber/record_test_result.json (1 hunks)
  • tests/data/cypress/record_test_result.json (1 hunks)
  • tests/data/dotnet/record_test_result.json (1 hunks)
  • tests/data/flutter/record_test_result.json (1 hunks)
  • tests/data/go_test/record_test_result.json (1 hunks)
  • tests/data/googletest/fail/record_test_result.json (1 hunks)
  • tests/data/googletest/record_test_result.json (1 hunks)
  • tests/data/gradle/recursion/expected.json (1 hunks)
  • tests/data/jest/record_test_result.json (1 hunks)
  • tests/data/maven/record_test_result.json (1 hunks)
  • tests/data/minitest/record_test_result.json (1 hunks)
  • tests/data/nunit/nunit-reporter-bug-with-nested-type.json (1 hunks)
  • tests/data/nunit/record_test_result-linux.json (1 hunks)
  • tests/data/nunit/record_test_result-windows.json (1 hunks)
  • tests/data/playwright/record_test_result.json (1 hunks)
  • tests/data/playwright/record_test_result_with_json.json (1 hunks)
  • tests/data/prove/record_test_result.json (1 hunks)
  • tests/data/pytest/record_test_result.json (1 hunks)
  • tests/data/pytest/record_test_result_json.json (1 hunks)
  • tests/data/robot/record_test_executed_only_one_file_result.json (1 hunks)
  • tests/data/robot/record_test_result.json (1 hunks)
  • tests/data/rspec/record_test_result.json (1 hunks)
  • tests/test_runners/test_raw.py (2 hunks)
✅ Files skipped from review due to trivial changes (18)
  • tests/data/ant/record_test_result.json
  • tests/data/robot/record_test_result.json
  • tests/data/gradle/recursion/expected.json
  • tests/data/go_test/record_test_result.json
  • tests/data/cypress/record_test_result.json
  • tests/data/jest/record_test_result.json
  • tests/data/maven/record_test_result.json
  • tests/data/googletest/fail/record_test_result.json
  • tests/data/flutter/record_test_result.json
  • tests/data/googletest/record_test_result.json
  • tests/data/bazel/record_test_with_multiple_build_event_json_result.json
  • tests/data/playwright/record_test_result.json
  • tests/data/rspec/record_test_result.json
  • tests/data/minitest/record_test_result.json
  • tests/data/nunit/record_test_result-linux.json
  • tests/data/pytest/record_test_result.json
  • tests/data/playwright/record_test_result_with_json.json
  • tests/data/cucumber/record_test_json_result.json
🔇 Additional comments (9)
tests/data/robot/record_test_executed_only_one_file_result.json (1)

60-62: LGTM! Consistent implementation.

The changes maintain consistency with other test result files, properly preserving the existing test event structure while adding the new fields.

tests/data/nunit/nunit-reporter-bug-with-nested-type.json (1)

39-41: LGTM! Verify nested type handling.

The changes are consistent with other test result files. Since this file specifically handles nested type cases, it would be good to verify that the new fields don't affect the nested type handling functionality.

Let's verify the nested type handling remains intact:

✅ Verification successful

Let me check the content of these files to verify the nested type handling consistency.


Nested type handling is properly maintained

After comparing the files, the nested type handling is consistent across all test files. The new fields (noBuild, flavors, testSuite) are uniformly applied and don't interfere with the nested type representation in the testPath arrays. Both Outer+Inner nested classes and parameterized tests are correctly structured in all files.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for test files that handle nested types to ensure consistent structure
rg -l --type json "Outer\\+Inner|nested" tests/data/

Length of output: 207


Script:

#!/bin/bash
# Compare the structure and nested type handling across the identified files
echo "=== nunit-reporter-bug-with-nested-type.json ==="
cat tests/data/nunit/nunit-reporter-bug-with-nested-type.json

echo -e "\n=== record_test_result-windows.json ==="
cat tests/data/nunit/record_test_result-windows.json

echo -e "\n=== record_test_result-linux.json ==="
cat tests/data/nunit/record_test_result-linux.json

Length of output: 8062

tests/data/prove/record_test_result.json (1)

132-134: LGTM! Consistent with other test runners

The implementation maintains consistency with other test runners, using identical field structure and default values.

tests/data/pytest/record_test_result_json.json (1)

160-162: LGTM! Changes maintain consistency across test runners.

The addition of flavors and testSuite fields with matching default values ensures consistent schema across different test runners.

tests/data/bazel/record_test_result.json (1)

132-134: LGTM! Verify schema consistency across all test runners.

The changes maintain the consistent pattern of adding flavors and testSuite fields.

Let's verify that these schema changes are consistent across all test runner fixtures:

✅ Verification successful

Schema changes are consistent across all test runners

The verification confirms that all test result fixtures have identical schema changes:

  • All test runners have the flavors field set to an empty array []
  • All test runners have the testSuite field set to null
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify schema consistency across all test result fixtures
# Expected: All test result files should have the new fields with matching default values

# Find all record_test_result*.json files
fd 'record_test_result.*\.json$' tests/data -x jq -r \
  'select(has("flavors") and has("testSuite")) | "\(.testRunner): flavors=\(.flavors), testSuite=\(.testSuite)"'

Length of output: 1012

tests/data/ctest/record_test_result.json (1)

62-64: LGTM: New fields added consistently

The addition of noBuild, flavors, and testSuite fields maintains the JSON structure integrity and follows the expected schema changes.

tests/data/cts/record_test_result.json (1)

248-250: LGTM: Consistent field structure maintained

The new fields follow the same structure and default values as other test result files, maintaining consistency across different test runners.

tests/data/cucumber/record_test_result.json (1)

292-294: LGTM: Schema changes consistently applied

The new fields maintain consistency with other test result files. However, let's verify the schema validation in the main code.

✅ Verification successful

Based on the code analysis, I can now generate the final response since I have found clear evidence that the schema changes are properly handled in the codebase:

Schema changes are properly validated

The new fields (noBuild, flavors, testSuite) are properly handled in the test recording logic:

  • The fields are part of the payload structure in launchable/commands/record/tests.py
  • They are consistently used across all test runners through the RecordTests class
  • The fields are properly sent to the API in the events payload
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify schema validation for new fields
# Search for schema validation or field processing code
rg -l "testSuite|flavors|noBuild" --type python

Length of output: 80


Script:

#!/bin/bash
# Let's first find all files that might contain schema validation
fd -e js -e ts -e json 'schema|test.*result' --type f

# Then search for the specific fields in those files
rg -l "testSuite|flavors|noBuild"

Length of output: 3103


Script:

#!/bin/bash
# Let's check the content of test_raw.py and record/tests.py for schema validation
cat tests/test_runners/test_raw.py
cat launchable/commands/record/tests.py

Length of output: 44890

tests/test_runners/test_raw.py (1)

367-369: LGTM! Verify behavior with no-build option.

The payload structure is correct. Since this PR is about supporting flavors and test-suite options when no-build is enabled, consider adding a test case that verifies the behavior when noBuild is True.

Let's verify if there are any existing tests for the no-build scenario:

Consider adding a test case:

# Test with no-build option
result = self.cli('record', 'tests', '--no-build', '--flavor', 'unit', '--test-suite', 'regression', 'raw', test_path_file, mix_stderr=False)
# Assert payload contains:
# "noBuild": True
# "flavors": ["unit"]
# "testSuite": "regression"

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
launchable/commands/record/tests.py (1)

466-476: Add validation for test_suite parameter

The payload structure looks good, but consider adding validation for the test_suite parameter before using it in the payload. This will help prevent potential issues with invalid test suite names.

Consider adding validation similar to the following:

 return {
     "events": cs,
     "testRunner": test_runner,
     "group": group,
     "metadata": get_env_values(client),
     "noBuild": self.is_no_build,
     # NOTE:
     # testSuite and flavors are applied only when the no-build option is enabled
-    "testSuite": test_suite,
+    "testSuite": test_suite if test_suite and test_suite.strip() else None,
     "flavors": dict(flavor),
 }, exs
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between d10d774 and 3f34f02.

📒 Files selected for processing (1)
  • launchable/commands/record/tests.py (1 hunks)

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 5, 2024

@Konboi Konboi requested a review from ono-max December 5, 2024 05:55
@Konboi
Copy link
Contributor Author

Konboi commented Dec 5, 2024

@ono-max you don't have to review carefully.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
launchable/commands/record/tests.py (1)

Line range hint 451-479: LGTM: Function signature and payload structure updated correctly.

The payload function has been properly updated to handle test suite and flavors. Consider adding type hints for better code maintainability:

-def payload(
-    cases: Generator[TestCase, None, None],
-    test_runner, group: str,
-    test_suite_name: str,
-    flavors: Dict[str, str]) -> Tuple[Dict[str, Union[str, List, dict, bool]], List[Exception]]:
+def payload(
+    cases: Generator[TestCase, None, None],
+    test_runner: str,
+    group: str,
+    test_suite_name: Optional[str],
+    flavors: Dict[str, str]) -> Tuple[Dict[str, Union[str, List, dict, bool]], List[Exception]]:
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3f34f02 and 39e317d.

📒 Files selected for processing (32)
  • launchable/commands/record/tests.py (3 hunks)
  • tests/data/ant/record_test_result.json (1 hunks)
  • tests/data/bazel/record_test_result.json (1 hunks)
  • tests/data/bazel/record_test_with_build_event_json_result.json (1 hunks)
  • tests/data/bazel/record_test_with_multiple_build_event_json_result.json (1 hunks)
  • tests/data/behave/record_test_result.json (1 hunks)
  • tests/data/ctest/record_test_result.json (1 hunks)
  • tests/data/cts/record_test_result.json (1 hunks)
  • tests/data/cucumber/record_test_json_result.json (1 hunks)
  • tests/data/cucumber/record_test_result.json (1 hunks)
  • tests/data/cypress/record_test_result.json (1 hunks)
  • tests/data/dotnet/record_test_result.json (1 hunks)
  • tests/data/flutter/record_test_result.json (1 hunks)
  • tests/data/go_test/record_test_result.json (1 hunks)
  • tests/data/googletest/fail/record_test_result.json (1 hunks)
  • tests/data/googletest/record_test_result.json (1 hunks)
  • tests/data/gradle/recursion/expected.json (1 hunks)
  • tests/data/jest/record_test_result.json (1 hunks)
  • tests/data/maven/record_test_result.json (1 hunks)
  • tests/data/minitest/record_test_result.json (1 hunks)
  • tests/data/nunit/nunit-reporter-bug-with-nested-type.json (1 hunks)
  • tests/data/nunit/record_test_result-linux.json (1 hunks)
  • tests/data/nunit/record_test_result-windows.json (1 hunks)
  • tests/data/playwright/record_test_result.json (1 hunks)
  • tests/data/playwright/record_test_result_with_json.json (1 hunks)
  • tests/data/prove/record_test_result.json (1 hunks)
  • tests/data/pytest/record_test_result.json (1 hunks)
  • tests/data/pytest/record_test_result_json.json (1 hunks)
  • tests/data/robot/record_test_executed_only_one_file_result.json (1 hunks)
  • tests/data/robot/record_test_result.json (1 hunks)
  • tests/data/rspec/record_test_result.json (1 hunks)
  • tests/test_runners/test_raw.py (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (30)
  • tests/data/robot/record_test_result.json
  • tests/data/ant/record_test_result.json
  • tests/data/maven/record_test_result.json
  • tests/data/gradle/recursion/expected.json
  • tests/data/nunit/record_test_result-linux.json
  • tests/data/jest/record_test_result.json
  • tests/data/bazel/record_test_with_build_event_json_result.json
  • tests/data/cucumber/record_test_json_result.json
  • tests/data/cucumber/record_test_result.json
  • tests/data/behave/record_test_result.json
  • tests/data/robot/record_test_executed_only_one_file_result.json
  • tests/data/bazel/record_test_result.json
  • tests/data/nunit/nunit-reporter-bug-with-nested-type.json
  • tests/data/go_test/record_test_result.json
  • tests/data/minitest/record_test_result.json
  • tests/data/cypress/record_test_result.json
  • tests/data/prove/record_test_result.json
  • tests/data/nunit/record_test_result-windows.json
  • tests/data/dotnet/record_test_result.json
  • tests/data/bazel/record_test_with_multiple_build_event_json_result.json
  • tests/data/googletest/fail/record_test_result.json
  • tests/data/rspec/record_test_result.json
  • tests/data/flutter/record_test_result.json
  • tests/data/playwright/record_test_result.json
  • tests/data/pytest/record_test_result.json
  • tests/data/googletest/record_test_result.json
  • tests/data/pytest/record_test_result_json.json
  • tests/data/playwright/record_test_result_with_json.json
  • tests/data/cts/record_test_result.json
  • tests/data/ctest/record_test_result.json
🔇 Additional comments (3)
tests/test_runners/test_raw.py (2)

288-289: LGTM: Test payload updated correctly.

The test payload has been properly updated to include the new fields with appropriate default values.


367-369: LGTM: Consistent test payload update.

The test payload in the junit XML test case has been updated consistently with the same default values.

launchable/commands/record/tests.py (1)

548-554: LGTM: Payload function call updated correctly.

The payload function is called with appropriate parameters:

  • Empty string as default for test_suite is handled properly
  • Flavor tuple is correctly converted to dict

@Konboi Konboi merged commit 2707885 into main Dec 5, 2024
17 checks passed
@Konboi Konboi deleted the support-flavor-and-test-suite-with-no-build branch December 5, 2024 07:36
@github-actions github-actions bot mentioned this pull request Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants