Discussion:
[Cucumber] [CPP] All steps are undefined in examples
konserw
2015-12-23 11:33:44 UTC
Permalink
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered some
troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my problem.
I follow instructions from https://github.com/cucumber/cucumber-cpp

After

build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc

Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?


29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s

My environment:
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398

gem list

*** LOCAL GEMS ***

aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)


Best Regards,
Konserw

P.S. it's a pity that cucumber-cpp is not compatible with boost past 1.55
so I had to build it myself.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
konserw
2015-12-23 12:36:20 UTC
Permalink
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my problem.
I follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past 1.55
so I had to build it myself.
One thing I forgot to add - lat build step also looks corrupted:

$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU

1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s

You can implement step definitions for undefined steps with these snippets:

Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end

Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end

When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end

Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
konserw
2016-01-07 09:56:52 UTC
Permalink
This post might be inappropriate. Click to display it.
konserw
2016-01-09 11:09:01 UTC
Permalink
Post by konserw
Post by konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my problem.
I follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own QTest
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working without
any apparent cause. I've even reverted to commit when all worked fine and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
branches) and travis, see for example:
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even checked
code from original cucumber/cucumber-cpp repo with the same result. Maybe
something wit external libraries? Wire protocol?

I have also encountered another issue which may or may not be connected:
When running any example (but not features) I get:
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'

Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it is
invoked from examples ?

Best Regards,
Konserw
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Paolo Ambrosio
2016-01-09 15:10:26 UTC
Permalink
Post by konserw
Post by konserw
Post by konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my problem. I
follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own QTest
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working without
any apparent cause. I've even reverted to commit when all worked fine and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even checked
code from original cucumber/cucumber-cpp repo with the same result. Maybe
something wit external libraries? Wire protocol?
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'
Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it is
invoked from examples ?
Best Regards,
Konserw
The problem is probably with the Cucumber-Ruby, Ruby, Aruba and RSpec
versions that have been used to run the features.

I started doing some work to upgrade to a recent Cucumber version (at
the time) in this commit one and a half years ago:
https://github.com/paoloambrosio/cucumber-cpp/commit/29dc152c2c715df5982d29ca1d1a2f2037d82178

After the latest commit on master it was building:
https://travis-ci.org/cucumber/cucumber-cpp/jobs/15849353

The versions used were:

gcc 4.6.3
Boost 1.46.1 (it should work with later versions but don't know up to which one)
CppSpec latest dev
GoogleTest/Mock 1.4+ (tested with 1.6 but can't remember if with 1.7)

Ruby 1.9.3? (not sure what was used to build but 1.9.3 works)

cucumber (1.3.6)
gherkin (2.12.2)
aruba (0.5.3)
rspec (2.14.1)
multi_json (1.7.9)

My proposal is to:

1) Make sure that it can be built in local with those old versions
(rvm should take care of the Ruby version), Bundler should install
that version on Cucumber-Ruby; might have to specify an older version
of RSpec and Aruba in the Gemfile
2) Upgrade and fix the Ruby environment (interpreter, Cucumber-Ruby,
RSpec, ...), including the CI pipeline to build with those (leave
examples for last?)
3) Start upgrading the C++ libraries one by one, keeping the CI pipeline happy
4) Build on OSX and Windows
5) Start merging pull requests
6) New features (like your QTest driver)

How does it sound?


Paolo
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
konserw
2016-01-10 12:10:56 UTC
Permalink
W dniu sobota, 9 stycznia 2016 16:10:53 UTC+1 uÅŒytkownik Paolo Ambrosio
Post by konserw
W dniu czwartek, 7 stycznia 2016 10:56:52 UTC+1 uÅŒytkownik konserw
W dniu środa, 23 grudnia 2015 13:36:21 UTC+1 uÅŒytkownik konserw
W dniu środa, 23 grudnia 2015 12:35:55 UTC+1 uÅŒytkownik konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've
encountered
Post by konserw
some troubles running cucumber-cpp examples, both Calc and CalcQt.
Help me
Post by konserw
please as I haven't found anything in the internet simmilar to my
problem. I
Post by konserw
follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication
between
Post by konserw
cucumber and BoostCalculatorQtSteps execuable (?) maybe something
with wire
Post by konserw
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost
gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own QTest
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working
without
any apparent cause. I've even reverted to commit when all worked fine
and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even checked
code from original cucumber/cucumber-cpp repo with the same result.
Maybe
something wit external libraries? Wire protocol?
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'
Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it is
invoked from examples ?
Best Regards,
Konserw
The problem is probably with the Cucumber-Ruby, Ruby, Aruba and RSpec
versions that have been used to run the features.
I started doing some work to upgrade to a recent Cucumber version (at
https://github.com/paoloambrosio/cucumber-cpp/commit/29dc152c2c715df5982d29ca1d1a2f2037d82178
https://travis-ci.org/cucumber/cucumber-cpp/jobs/15849353
gcc 4.6.3
Boost 1.46.1 (it should work with later versions but don't know up to which one)
CppSpec latest dev
GoogleTest/Mock 1.4+ (tested with 1.6 but can't remember if with 1.7)
Ruby 1.9.3? (not sure what was used to build but 1.9.3 works)
cucumber (1.3.6)
gherkin (2.12.2)
aruba (0.5.3)
rspec (2.14.1)
multi_json (1.7.9)
1) Make sure that it can be built in local with those old versions
(rvm should take care of the Ruby version), Bundler should install
that version on Cucumber-Ruby; might have to specify an older version
of RSpec and Aruba in the Gemfile
2) Upgrade and fix the Ruby environment (interpreter, Cucumber-Ruby,
RSpec, ...), including the CI pipeline to build with those (leave
examples for last?)
3) Start upgrading the C++ libraries one by one, keeping the CI pipeline happy
4) Build on OSX and Windows
5) Start merging pull requests
6) New features (like your QTest driver)
How does it sound?
Paolo
It sounds good.
I've just verified that ruby version itself probably doesn't meter as I
checked upstream code with ruby 1.9.3, 2.0, 2.1.4 and 2.2 - all worked fine
(at least GTestCalculatorSteps)
I'm using boost 1.60 (with -DCUKE_DISABLE_BOOST_TEST) and GTest 1.7.0, so
ti's also fine. The devil is probably in gems versions - cucumber-ruby and
it's dependencies.
I haven't yet tried cppspec at all.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Paolo Ambrosio
2016-01-10 13:16:55 UTC
Permalink
W dniu sobota, 9 stycznia 2016 16:10:53 UTC+1 użytkownik Paolo Ambrosio
Post by Paolo Ambrosio
Post by konserw
Post by konserw
Post by konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my problem. I
follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own QTest
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working without
any apparent cause. I've even reverted to commit when all worked fine and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even checked
code from original cucumber/cucumber-cpp repo with the same result. Maybe
something wit external libraries? Wire protocol?
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'
Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it is
invoked from examples ?
Best Regards,
Konserw
The problem is probably with the Cucumber-Ruby, Ruby, Aruba and RSpec
versions that have been used to run the features.
I started doing some work to upgrade to a recent Cucumber version (at
https://github.com/paoloambrosio/cucumber-cpp/commit/29dc152c2c715df5982d29ca1d1a2f2037d82178
https://travis-ci.org/cucumber/cucumber-cpp/jobs/15849353
gcc 4.6.3
Boost 1.46.1 (it should work with later versions but don't know up to which one)
CppSpec latest dev
GoogleTest/Mock 1.4+ (tested with 1.6 but can't remember if with 1.7)
Ruby 1.9.3? (not sure what was used to build but 1.9.3 works)
cucumber (1.3.6)
gherkin (2.12.2)
aruba (0.5.3)
rspec (2.14.1)
multi_json (1.7.9)
1) Make sure that it can be built in local with those old versions
(rvm should take care of the Ruby version), Bundler should install
that version on Cucumber-Ruby; might have to specify an older version
of RSpec and Aruba in the Gemfile
2) Upgrade and fix the Ruby environment (interpreter, Cucumber-Ruby,
RSpec, ...), including the CI pipeline to build with those (leave
examples for last?)
3) Start upgrading the C++ libraries one by one, keeping the CI pipeline happy
4) Build on OSX and Windows
5) Start merging pull requests
6) New features (like your QTest driver)
How does it sound?
Paolo
It sounds good.
I've just verified that ruby version itself probably doesn't meter as I
checked upstream code with ruby 1.9.3, 2.0, 2.1.4 and 2.2 - all worked fine
(at least GTestCalculatorSteps)
I'm using boost 1.60 (with -DCUKE_DISABLE_BOOST_TEST) and GTest 1.7.0, so
ti's also fine. The devil is probably in gems versions - cucumber-ruby and
it's dependencies.
I haven't yet tried cppspec at all.
I've just tried with Ruby 2.2.1, old C++ libs (Boost 1.50, GTest
1.6.0, CppSpec master) and...

aruba (0.12.0)
cucumber (2.1.0)
cucumber-core (1.3.1)
gherkin3 (3.1.2)
rspec (3.4.0)

The Calc example compiles and runs without problems with all three
testing frameworks. The functional test suite does not. End-to-end
tests are a pain in general because they are a bit convoluted:
- cucumber-ruby + aruba is used to run:
- Cucumber-TCK as a Git submodule under features/cucumber-tck
- Cucumber-CPP own features in features/specific
- Cucumber-TCK comes with its own set of step definitions in
features/cucumber-tck/step_definitions, that call functions that need
to be defined by the implementation
- those functions, other step definitions and hooks are in
features/step_definitions and features/support
- every scenario needs to write and compile step definitions, create
feature files (in test_features), run them

The good news is that it looks like it's not finding the Ruby step
definitions, so it shouldn't be too difficult to fix once we find what
changed.


Paolo
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Kamil Strzempowicz
2016-01-10 14:57:33 UTC
Permalink
You mean that those tests fail or that cucumber thinks they are all
undefined?
Post by konserw
Post by konserw
W dniu sobota, 9 stycznia 2016 16:10:53 UTC+1 uÅŒytkownik Paolo Ambrosio
Post by Paolo Ambrosio
Post by konserw
W dniu środa, 23 grudnia 2015 13:36:21 UTC+1 uÅŒytkownik konserw
W dniu środa, 23 grudnia 2015 12:35:55 UTC+1 uÅŒytkownik konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt. Help me
please as I haven't found anything in the internet simmilar to my
problem. I
follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber
examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost
past
Post by konserw
Post by Paolo Ambrosio
Post by konserw
Post by konserw
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into
concrete
Post by konserw
Post by Paolo Ambrosio
Post by konserw
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into
concrete
Post by konserw
Post by Paolo Ambrosio
Post by konserw
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into
concrete
Post by konserw
Post by Paolo Ambrosio
Post by konserw
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into
concrete
Post by konserw
Post by Paolo Ambrosio
Post by konserw
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own
QTest
Post by konserw
Post by Paolo Ambrosio
Post by konserw
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working without
any apparent cause. I've even reverted to commit when all worked fine and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even
checked
Post by konserw
Post by Paolo Ambrosio
Post by konserw
code from original cucumber/cucumber-cpp repo with the same result. Maybe
something wit external libraries? Wire protocol?
I have also encountered another issue which may or may not be
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'
Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it
is
Post by konserw
Post by Paolo Ambrosio
Post by konserw
invoked from examples ?
Best Regards,
Konserw
The problem is probably with the Cucumber-Ruby, Ruby, Aruba and RSpec
versions that have been used to run the features.
I started doing some work to upgrade to a recent Cucumber version (at
https://github.com/paoloambrosio/cucumber-cpp/commit/29dc152c2c715df5982d29ca1d1a2f2037d82178
Post by konserw
Post by Paolo Ambrosio
https://travis-ci.org/cucumber/cucumber-cpp/jobs/15849353
gcc 4.6.3
Boost 1.46.1 (it should work with later versions but don't know up to which one)
CppSpec latest dev
GoogleTest/Mock 1.4+ (tested with 1.6 but can't remember if with 1.7)
Ruby 1.9.3? (not sure what was used to build but 1.9.3 works)
cucumber (1.3.6)
gherkin (2.12.2)
aruba (0.5.3)
rspec (2.14.1)
multi_json (1.7.9)
1) Make sure that it can be built in local with those old versions
(rvm should take care of the Ruby version), Bundler should install
that version on Cucumber-Ruby; might have to specify an older version
of RSpec and Aruba in the Gemfile
2) Upgrade and fix the Ruby environment (interpreter, Cucumber-Ruby,
RSpec, ...), including the CI pipeline to build with those (leave
examples for last?)
3) Start upgrading the C++ libraries one by one, keeping the CI pipeline happy
4) Build on OSX and Windows
5) Start merging pull requests
6) New features (like your QTest driver)
How does it sound?
Paolo
It sounds good.
I've just verified that ruby version itself probably doesn't meter as I
checked upstream code with ruby 1.9.3, 2.0, 2.1.4 and 2.2 - all worked
fine
Post by konserw
(at least GTestCalculatorSteps)
I'm using boost 1.60 (with -DCUKE_DISABLE_BOOST_TEST) and GTest 1.7.0,
so
Post by konserw
ti's also fine. The devil is probably in gems versions - cucumber-ruby
and
Post by konserw
it's dependencies.
I haven't yet tried cppspec at all.
I've just tried with Ruby 2.2.1, old C++ libs (Boost 1.50, GTest
1.6.0, CppSpec master) and...
aruba (0.12.0)
cucumber (2.1.0)
cucumber-core (1.3.1)
gherkin3 (3.1.2)
rspec (3.4.0)
The Calc example compiles and runs without problems with all three
testing frameworks. The functional test suite does not. End-to-end
- Cucumber-TCK as a Git submodule under features/cucumber-tck
- Cucumber-CPP own features in features/specific
- Cucumber-TCK comes with its own set of step definitions in
features/cucumber-tck/step_definitions, that call functions that need
to be defined by the implementation
- those functions, other step definitions and hooks are in
features/step_definitions and features/support
- every scenario needs to write and compile step definitions, create
feature files (in test_features), run them
The good news is that it looks like it's not finding the Ruby step
definitions, so it shouldn't be too difficult to fix once we find what
changed.
Paolo
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to a topic in the
Google Groups "Cukes" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/cukes/V6UlP0Z7bqA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Paolo Ambrosio
2016-01-10 15:02:43 UTC
Permalink
Post by Kamil Strzempowicz
You mean that those tests fail or that cucumber thinks they are all
undefined?

Cucumber thinks they are undefined, but only running the "feature" targets
on new Cucumber. Examples with latest Cucumber-Ruby works, feature target
with Cucumber(-Ruby) 1.3.6 works.
Post by Kamil Strzempowicz
Post by Paolo Ambrosio
Post by konserw
W dniu sobota, 9 stycznia 2016 16:10:53 UTC+1 uÅŒytkownik Paolo Ambrosio
Post by Paolo Ambrosio
W dniu czwartek, 7 stycznia 2016 10:56:52 UTC+1 uÅŒytkownik konserw
W dniu środa, 23 grudnia 2015 13:36:21 UTC+1 uÅŒytkownik konserw
W dniu środa, 23 grudnia 2015 12:35:55 UTC+1 uÅŒytkownik konserw
Post by konserw
Hello
I'm new in cucumber, so please forgive noobishness ;) I've encountered
some troubles running cucumber-cpp examples, both Calc and CalcQt.
Help me
please as I haven't found anything in the internet simmilar to my
problem. I
follow instructions from https://github.com/cucumber/cucumber-cpp
After
build/examples/Calc/BoostCalculatorSteps >/dev/null & cucumber
examples/Calc
Cucumber parses features correctly (AFAIK) but thinks that all
scenarios/steps are undefined. I gues I'm missing communication between
cucumber and BoostCalculatorQtSteps execuable (?) maybe something
with wire
protocol?
29 scenarios (29 undefined)
120 steps (120 undefined)
0m0.076s
Arch Linux (up to date)
Boost 1.55
Ruby 2.2.4
Qt 5.5.1
Qt 4.8.7
cucumber-cpp master as of 515e398
gem list
*** LOCAL GEMS ***
aruba (0.7.4)
bigdecimal (1.2.6)
builder (3.2.2)
bundler (1.11.2)
childprocess (0.5.8)
cucumber (2.1.0, 1.3.6)
cucumber-core (1.3.1)
diff-lcs (1.2.5)
ffi (1.9.10)
gherkin (2.12.2)
gherkin3 (3.1.2)
io-console (0.4.3)
json (1.8.1)
minitest (5.4.3)
multi_json (1.11.2, 1.7.9)
multi_test (0.1.2)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
test-unit (3.0.8)
timestamped-scenarios (0.1.0)
Best Regards,
Konserw
P.S. it's a pity that cucumber-cpp is not compatible with boost past
1.55 so I had to build it myself.
$ cmake --build build --target features
[100%] Built target cucumber-cpp
UUUU
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.016s
Given(/^the following feature:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Given(/^a step definition file with:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
When(/^Cucumber runs the feature$/) do
pending # Write code here that turns the phrase above into concrete
actions
end
Then(/^the step output should contain:$/) do |string|
pending # Write code here that turns the phrase above into concrete
actions
end
Please disregard this topic. Probably I've done something wrong.
After changing boost version to 1.60 and some hacking inside of
cucumber-cpp situation changed and steps were recognized, but boost gave me
"test tree empty" error.
Anyway GTest driver worked like a charm, and I've written my own QTest
driver, so I'm not going to use boost driver.
It turns out that I need to solve this issue as It stopped working without
any apparent cause. I've even reverted to commit when all worked fine
and
now it just don't.
Calc, CalcQt and features won't work. Both in my machine (various git
https://travis-ci.org/konserw/cucumber-cpp/jobs/101171749
It is also driver independent as far as I can see.
As far as I can tell it's not in the code itself, as I have even checked
code from original cucumber/cucumber-cpp repo with the same result. Maybe
something wit external libraries? Wire protocol?
| input_1 | input_2 | button | output |
no implicit conversion of nil into String (TypeError)
./features/support/hooks.rb:4:in `exists?'
./features/support/hooks.rb:4:in `Before'
Which originates from features/support/hooks.rb and is result of empty
$TMP_DIR environment variable.
Wokaround is to set that variable and point to any folder, but why it is
invoked from examples ?
Best Regards,
Konserw
The problem is probably with the Cucumber-Ruby, Ruby, Aruba and RSpec
versions that have been used to run the features.
I started doing some work to upgrade to a recent Cucumber version (at
https://github.com/paoloambrosio/cucumber-cpp/commit/29dc152c2c715df5982d29ca1d1a2f2037d82178
Post by Kamil Strzempowicz
Post by Paolo Ambrosio
Post by konserw
Post by Paolo Ambrosio
https://travis-ci.org/cucumber/cucumber-cpp/jobs/15849353
gcc 4.6.3
Boost 1.46.1 (it should work with later versions but don't know up to which one)
CppSpec latest dev
GoogleTest/Mock 1.4+ (tested with 1.6 but can't remember if with 1.7)
Ruby 1.9.3? (not sure what was used to build but 1.9.3 works)
cucumber (1.3.6)
gherkin (2.12.2)
aruba (0.5.3)
rspec (2.14.1)
multi_json (1.7.9)
1) Make sure that it can be built in local with those old versions
(rvm should take care of the Ruby version), Bundler should install
that version on Cucumber-Ruby; might have to specify an older version
of RSpec and Aruba in the Gemfile
2) Upgrade and fix the Ruby environment (interpreter, Cucumber-Ruby,
RSpec, ...), including the CI pipeline to build with those (leave
examples for last?)
3) Start upgrading the C++ libraries one by one, keeping the CI
pipeline
Post by Kamil Strzempowicz
Post by Paolo Ambrosio
Post by konserw
Post by Paolo Ambrosio
happy
4) Build on OSX and Windows
5) Start merging pull requests
6) New features (like your QTest driver)
How does it sound?
Paolo
It sounds good.
I've just verified that ruby version itself probably doesn't meter as I
checked upstream code with ruby 1.9.3, 2.0, 2.1.4 and 2.2 - all worked fine
(at least GTestCalculatorSteps)
I'm using boost 1.60 (with -DCUKE_DISABLE_BOOST_TEST) and GTest 1.7.0, so
ti's also fine. The devil is probably in gems versions - cucumber-ruby and
it's dependencies.
I haven't yet tried cppspec at all.
I've just tried with Ruby 2.2.1, old C++ libs (Boost 1.50, GTest
1.6.0, CppSpec master) and...
aruba (0.12.0)
cucumber (2.1.0)
cucumber-core (1.3.1)
gherkin3 (3.1.2)
rspec (3.4.0)
The Calc example compiles and runs without problems with all three
testing frameworks. The functional test suite does not. End-to-end
- Cucumber-TCK as a Git submodule under features/cucumber-tck
- Cucumber-CPP own features in features/specific
- Cucumber-TCK comes with its own set of step definitions in
features/cucumber-tck/step_definitions, that call functions that need
to be defined by the implementation
- those functions, other step definitions and hooks are in
features/step_definitions and features/support
- every scenario needs to write and compile step definitions, create
feature files (in test_features), run them
The good news is that it looks like it's not finding the Ruby step
definitions, so it shouldn't be too difficult to fix once we find what
changed.
Paolo
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to a topic in the
Google Groups "Cukes" group.
Post by Kamil Strzempowicz
Post by Paolo Ambrosio
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/cukes/V6UlP0Z7bqA/unsubscribe.
Post by Kamil Strzempowicz
Post by Paolo Ambrosio
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...