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
use spaces liberally in integration tests and fix space handling #12710
Conversation
LGTM |
Everything in the root of our ES dir has a space, so a few parameters for pidfile, repo path, classpath, etc have spaces. ES home itself has a space, and cwd (which is different) has a space. bin/plugin is also fed urls with spaces in the plugin smoketester. I removed all of ant argline usage (except what is fed by jenkins, which is gc params etc) to reduce the possibility of bugs, it makes the testing clear. TODO: fix any bat files for windows. Test the ES_GC_LOG_FILE by just setting one up in integ tests. I will look into these tomorrow. |
+1 thank you for doing this |
LGTM |
See my comment, i am not sure this is really 100% correct still. try something like this:
Problem is that JAVA_OPTS and ES_JAVA_OPTS are not handled correctly and all folded in one string i think, and need something like the previous 'eval' reparsing that was happening (but ONLY for those two, not the rest of the commandline, and hopefully cleaner). I am going to go for a long run today and try to catch up on some errands. If someone who actually knows bash wants to take this from me, i would be more than happy. I dont know shell, i just hack until mvn verify passes. And there is still windows to possibly fix :( But I think we want to fix this soonish, so argument processing is really correct. |
and the fastest way to iterate here is to change files then do |
The usual horror :) it's so simple with ant... please fix! |
Also the way ES here accepts |
for the last part, just change Bootstrap parser to require es prefix on all those -D's and fail with an exception otherwise. Then there is no confusion. |
The worst is leniency, |
That issue is full of confusion and nonsense. It should be done in a simple way with e.g. properties file for checks (and plugins can have them too). each property (prolly needs wildcard/pattern in some case from what i see) should include its type as well (if its being accessed by getAsBoolean its a boolean, etc), and a short description. This also means its easy to do really nice stuff like list all supported properties, "did you mean" in error messages, etc later. |
Even with this PR, wildcards are still problematic:
Fails with:
If the |
@clintongormley looks like a parser issue (independent from this PR), when regular arguments come after the |
This commit is a spinn-off from elastic#12710 which improves the handling of process arguments ot play nice with spaces etc.
This commit is a spinn-off from #12710 which improves the handling of process arguments ot play nice with spaces etc.
By using pathnames with spaces in tests we can kickout all the bugs.
I applied the fix for #12709 but we needed more fixes actually.
TODO: windows