Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ceedling 1.0.0 compatibility, add multi project setup capability #139

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

simeon-s1
Copy link

No description provided.

@gsmithufl
Copy link

gsmithufl commented Aug 16, 2024

Overall, thanks a lot for making these updates! Hopefully this repo owner will show up.

I've tested this and I'm able to step debug from the GUI menu and run tests. However, I'm having an issue where tests are showing as failed in the GUI menu. In Test Explorer the output shows as on stderr:

Ceedling operations completed in 391 milliseconds

stderr:

-----------------------
✅ OVERALL TEST SUMMARY
-----------------------
TESTED:  2
PASSED:  2
FAILED:  0
IGNORED: 0

I currently have the project.yaml plugins setup as follows:

:plugins:
  :load_paths: []
  :enabled:
    - module_generator               # handy for quickly creating source, header, and test templates
    - gcov                           # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr

    # Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired)
    #- report_build_warnings_log
    # - report_tests_gtestlike_stdout
    #- report_tests_ide_stdout
    - report_tests_log_factory
    - report_tests_pretty_stdout
    #- report_tests_raw_output_log
    # - report_tests_teamcity_stdout

# Specify which reports you'd like from the log factory
:report_tests_log_factory:
  :reports:
    # - json
    - junit
    # - cppunit
    # - html

Here are some app versions:

  Ceedling => 1.0.0-a1e6b24
  ----------------------
  /var/lib/gems/3.2.0/gems/ceedling-1.0.0
  
  Build Frameworks
  ----------------------
       CMock => 2.5.4
       Unity => 2.6.0
  CException => 1.3.4

Id: hbenl.vscode-test-explorer
Version: 2.21.1
Publisher: Holger Benl

Id: ms-vscode.test-adapter-converter
Version: 0.1.9

Id: futavis.vscode-ceedling-test-adapter-multi
Version: 2.0.0
Publisher: futavis

Separately, I think the README.md probably needs one more combing through. I believe the section on ceedlingExplorer.testCommandArgs needs to be updated because I think they got rid of the utils:gcov command extension.

Also, the packages.json section "publisher": "futavis", probably isn't correct for this repo.

@jerdwys
Copy link

jerdwys commented Sep 1, 2024

@gsmithufl I believe you need to enable cppunit under report_tests_log_factory.

From the breaking changes:
In addition, all references and naming connected to the previous xml_tests_report plugin have been updated to refer to CppUnit rather than generic XML as this is the actual format of the report that is processed.

…his with Ceedling 1.0.0. but not Ceedling 0.31
@jerdwys
Copy link

jerdwys commented Sep 2, 2024

@simeon-s1 I think you are missing the name change of the report.xml file that happened in Ceedling 1.0.0. For me, it didn't report the results until I updated the xml report name. Here is the pull request and a prerelease extension build

@gsmithufl
Copy link

gsmithufl commented Sep 9, 2024

@gsmithufl I believe you need to enable cppunit under report_tests_log_factory.

From the breaking changes: In addition, all references and naming connected to the previous xml_tests_report plugin have been updated to refer to CppUnit rather than generic XML as this is the actual format of the report that is processed.

@jerdwys you're right, thanks! I needed to enable cppunit and also needed to change the name of the report from the new cppunit_tests_report.xml name to the old report.xml name. For anyone else the documentation on how to do that is here: https://github.com/ThrowTheSwitch/Ceedling/tree/test/ceedling_0_32_rc/plugins/report_tests_log_factory#configuration

:report_tests_log_factory:
  :reports:
    # - json
    # - junit
    - cppunit
    # - html
  :cppunit:
    :filename: 'report.xml'

I think the extension would need to be updated to capture the new report name.

@simeon-s1
Copy link
Author

simeon-s1 commented Sep 10, 2024

hey, could you do a PR? then i'll merge it and also merge everything into main on the fork afterwards.

@mmerlo
Copy link

mmerlo commented Nov 14, 2024

Thanks for everyone's effort. I've tested this extension and I am having a couple of issues with debugging.

The first issue relates to selecting the specific launch config for debugging.

My launch.json had the ceedling debugging profile set as "name": "ceedlingExplorer". The workspacesettings.json in .vscode folder has this entry: "ceedlingExplorer.projects": [{"path": "./", "debugLaunchConfig": "ceedlingExplorer"}]. When attempting to debug with these settings, vscode gives the message: Configuration 'ceedling' is missing in 'launch.json'. Changing the launch.json profile name to ceedling fixes the issue. Either I'm setting this profile name wrong in the settings or it is being ignored.

The second issue is that the test timer in Test Explorer continues to run if the debugging button is used to run tests. The stop button is the only way I have found to stop the timer. When in this condition (ie the timer is running after debug), the Explorer otherwise behaves as expected and tests can be run with the run buttons.

@EmileBV
Copy link

EmileBV commented Jan 16, 2025

Hi, I was just wondering if there are plans to complete this PR now that Ceedling 1.0.0 is out?

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.

5 participants