Closed mdyme closed 2 weeks ago
Hi everyone. If you're installing our pre-release locally and don't have a previous version of ceedling installed, it likely didn't install all the dependencies. They can be fetched using ruby's (built-in) package management tool.
gem install constructor
I suspect this is what needs to happen? If you still have issues, let me know!
constructor installed successfully.
Issue still exists. Another example:
c:\Users\mdymek\Downloads\Ceedling-1.0.0-cb01ae0\examples\temp_sensor>ruby ..\..\bin\ceedling
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Loaded project configuration from environment variable `CEEDLING_PROJECT_FILE`.
> Using: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor/project.yml
> Working directory: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor
EXCEPTION: Could not collect version information for vendor component: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/vendor/unity/src/unity.h
Hm. If take a look at that folder, does c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/vendor/unity/src/unity.h
exist? Is there anything inside :/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/vendor
?
Following folders are empty:
These folders are intentionally empty in your release zip file? They should be downloaded manually from repos described in the CeedlingPacket.md?
Ceddling version is now printed correctly, thanks!
Other issue arised:
c:\Users\mdymek\Downloads\Ceedling-1.0.0-cb01ae0\examples\temp_sensor>ruby ..\..\bin\ceedling
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Loaded project configuration from environment variable `CEEDLING_PROJECT_FILE`.
> Using: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor/project.yml
> Working directory: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor
<internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- unicode/display_width (LoadError)
from <internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/lib/ceedling/reportinator.rb:8:in `<top (required)>'
from <internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/lib/ceedling/rakefile.rb:20:in `<top (required)>'
from <internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/bin/cli_helper.rb:133:in `load_ceedling'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/bin/cli_handler.rb:223:in `build'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/bin/cli.rb:346:in `build'
from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
from c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/bin/cli.rb:93:in `start'
from ../../bin/ceedling:125:in `<main>'
Sigh. No. They are not intentionally blank. For some reason github actions sometimes builds our zip with dependencies and sometimes without and I've not yet figured out how to control it. I'm sure it's a setting I'm missing.
In any case, downloading those projects manually should solve your problem. I apologize that it's this painful.
Thanks for explanation, I'm happy that it worked! Please see the new issue when running tests for your example project.
The warning looks like a new deprecation from the latest Ruby. I'll have to add that to my list.
The error looks like a missing gem again.
gem install unicode-display_width
(note the weird dash vs underscores)
It seems that we have issue when running tests from temp_sensor project (regardless tested file/testcase):
c:\Users\mdymek\Downloads\Ceedling-1.0.0-cb01ae0\examples\temp_sensor>ruby ..\..\bin\ceedling
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Loaded project configuration from environment variable `CEEDLING_PROJECT_FILE`.
> Using: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor/project.yml
> Working directory: c:/Users/mdymek/Downloads/Ceedling-1.0.0-cb01ae0/examples/temp_sensor
Ceedling set up completed in 420 milliseconds
Preparing Build Paths...
Collecting Test Context
-----------------------
Parsing TestMain.c for build directive macros...
Ingesting Test Configurations
-----------------------------
Collecting search paths, flags, and defines TestMain.c...
Collecting Test Context
-----------------------
Preprocessing #include statements for TestMain.c...
Extracting #include statements via preprocessor from TestMain.c...
Using fallback regex #include extraction for TestMain.c...
ERROR: wrong number of arguments (given 2, expected 1)
EXCEPTION: ArgumentError ==> wrong number of arguments (given 2, expected 1)
Ceedling could not complete operations because of errors
Can you run it as ruby ..\..\bin\ceedling -v=4 clobber test:all
? That should capture the error at the end so we can see the specific line(s) that are failing.
Hey @mdyme -- when you installed this version of ceedling to test, did you install it as a rubygem or did you download the zip file? (I'm just looking for clues as to where I am missing the vendor libraries)
Hi! I have similar issue on my end. I wanted to try out 1.0.0, without breaking current environment so i tried to use it on WSL.
Ubuntu 24.04.1 LTS ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux-gnu]
I installed gem from local package ceedling-1.0.0-533d636 first and then also with ceedling-1.0.0-9fc30fb.
Before that i had to install manually gems:
I also installed constructor after seeing this conversation.
Tests works, but the same error appears
ceedling test:all --project ./tools/project/ceedling/project.yml
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
🚧 Loaded project configuration from command line argument.
> Using: /mnt/c/Work/tools/project/ceedling/project.yml
> Working directory: /mnt/c/Work/
Ceedling set up completed in 28.74 seconds
👟 Preparing Build Paths...
...
--------------------
OVERALL TEST SUMMARY
--------------------
TESTED: 69
PASSED: 69
FAILED: 0
IGNORED: 0
Ceedling operations completed in 6.24 seconds
But for example dumpconfig call fails. Im not exactly sure is this a reason or not, but same command with same version of ceedling on Windows and newer Ruby version works properly.
ceedling dumpconfig temp.yml -p ./tools/project/ceedling/project.yml -m ./tools/project/ceedling/ctc_armclang.yml
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
🧨 EXCEPTION: undefined method `each' for "./tools/project/ceedling/ctc_armclang.yml":String
On my docker image I also add to install manually (gem install package_name
):
Before successfully install : gem install --local ceedling_1.0.0.gem
oh so unicode-display_width and deep_merge really blocked ceedling installation, but thor didnt. I just installed thor-1.3.2 gem, and this error is gone.
Thanks JuPrgn
I'm glad you were able to work through these issues. I'm sorry that this is so painful at the moment. The dependencies will be automatic with an official (non-local) gem release. :/
Hi, I'm trying to run the latest pre-release 1.0.0 version and I have on my Win11 x64:
On the older Ruby version:
The same exception for all other ceeling commands.