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

Not compatable with Fitnesse 20161106 #16

Open
AlexMooney opened this issue Oct 17, 2017 · 2 comments
Open

Not compatable with Fitnesse 20161106 #16

AlexMooney opened this issue Oct 17, 2017 · 2 comments

Comments

@AlexMooney
Copy link

With the latest version, @dineshs-freshdesk and I have seen lib/rubyslim/socket_service.rb:19:in initialize': Permission denied - bind(2) for nil port 1 (Errno::EACCES)` when trying to run tests which work using version 20160515. See the issue here for context and to reproduce the problem.

I believe the problem was caused by this PR in Fitnesse.

@NicoleRauch
Copy link

If you add to your FitNesse page the line

!define SLIM_PORT {0}

Slim will pick an available port at random to communicate with the server.

If you want to control this a bit more, you can set a fixed port number via e.g.

!define SLIM_PORT {9966}

(or any other port number that is convenient for you). Slim will start from that port and tries the next 10 ports in case of collisions.

@AlexMooney
Copy link
Author

Thanks for the advice! When I use gem 'rubyslim', git: 'gem 'rubyslim', git: '[email protected]:lvonk/rubyslim.git' in my Gemfile, then this makes the latest version of Fitnesse work again!

Unfortunately, when I use gem 'rubyslim', git: '[email protected]:unclebob/rubyslim.git', it breaks regardless of using the new or old version of Fitnesse (relative to the PR I referenced). I tried both {0} and {9966} (which is not in use on my machine) on the page with the tests as well as the Suite page where I had !define TEST_SYSTEM {slim}, but I see the same error as before. I'm using ruby 2.2.2p95.

This is what I'm attempting to run:

WORK_DIR=`pwd`
TEST_RUNNER=$WORK_DIR/bin/rubyslim_wrapper
COMMAND_PATTERN=$TEST_RUNNER

cd fitnesse
java -DWORK_DIR="$WORK_DIR" -DTEST_RUNNER="$TEST_RUNNER" -DCOMMAND_PATTERN="$COMMAND_PATTERN" -jar fitnesse-standalone.jar -p 8888 -e 0  "$@"

This is the stack trace when I attempt to run the tests:

Nov 07, 2017 2:51:24 PM fitnesse.ConfigurationParameter loadProperties
INFO: No configuration file found (/Users/amooney/cmmgithub/fitnesse/fitnesse/plugins.properties)
Bootstrapping FitNesse, the fully integrated standalone wiki and acceptance testing framework.
root page: fitnesse.wiki.fs.WikiFilePage: FitNesseRoot
logger: none
authenticator: fitnesse.authentication.PromiscuousAuthenticator
page factory: fitnesse.html.template.PageFactory
page theme: bootstrap
Starting FitNesse on port: 8888
WARNING: An error occured while fulfilling user request [fitnesse.http.HttpException: The request string is malformed and can not be parsed]
java.util.concurrent.ExecutionException: fitnesse.http.HttpException: The request string is malformed and can not be parsed
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
	at fitnesse.FitNesseExpediter.makeResponse(FitNesseExpediter.java:105)
	at fitnesse.FitNesseExpediter.run(FitNesseExpediter.java:58)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: fitnesse.http.HttpException: The request string is malformed and can not be parsed
	at fitnesse.http.Request.checkRequestLine(Request.java:159)
	at fitnesse.http.Request.readAndParseRequestLine(Request.java:73)
	at fitnesse.http.Request.parse(Request.java:61)
	at fitnesse.FitNesseExpediter$1.call(FitNesseExpediter.java:102)
	at fitnesse.FitNesseExpediter$1.call(FitNesseExpediter.java:99)
	... 4 more

My immediate problem is solved, but it means I'm stuck on the unmaintained lvonk fork of fitnesse, apparently.

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

No branches or pull requests

2 participants