You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Antonov (JIRA)" <ji...@apache.org> on 2019/04/26 08:33:00 UTC
[jira] [Updated] (IGNITE-11812) control.sh ignores quotes in passed
arguments
[ https://issues.apache.org/jira/browse/IGNITE-11812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Antonov updated IGNITE-11812:
------------------------------------
Description:
Control.sh should consider quotes in incoming arguments. i.e. I expect that
{code:java}
control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes
{code}
set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}
Reproducer. (Add this test to {{CommandHandlerParsingTest}})
{code:java}
@Test
public void testQuotesWillNotIgnored() throws Exception {
CommandHandler hnd = new CommandHandler();
Arguments args = hnd.parseAndValidate(
Arrays.asList(
BASELINE.text(),
BaselineCommand.SET.text(),
"\"1,2,3\",\"3,2,1\""
)
);
assertEquals(BASELINE, args.command());
assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
// FIx me: expected 2, actual 6
assertEquals(2, args.baselineArguments().getConsistentIds().size());
assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
}
{code}
was:
Control.sh should consider quotes in incoming arguments. i.e. I expect that {{control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes}} set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}
Reproducer. (Add this test to {{CommandHandlerParsingTest}})
{code:java}
@Test
public void testQuotesWillNotIgnored() throws Exception {
CommandHandler hnd = new CommandHandler();
Arguments args = hnd.parseAndValidate(
Arrays.asList(
BASELINE.text(),
BaselineCommand.SET.text(),
"\"1,2,3\",\"3,2,1\""
)
);
assertEquals(BASELINE, args.command());
assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
// FIx me: expected 2, actual 6
assertEquals(2, args.baselineArguments().getConsistentIds().size());
assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
}
{code}
> control.sh ignores quotes in passed arguments
> ---------------------------------------------
>
> Key: IGNITE-11812
> URL: https://issues.apache.org/jira/browse/IGNITE-11812
> Project: Ignite
> Issue Type: Bug
> Reporter: Sergey Antonov
> Priority: Major
> Fix For: 2.8
>
>
> Control.sh should consider quotes in incoming arguments. i.e. I expect that
> {code:java}
> control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes
> {code}
> set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}
> Reproducer. (Add this test to {{CommandHandlerParsingTest}})
> {code:java}
> @Test
> public void testQuotesWillNotIgnored() throws Exception {
> CommandHandler hnd = new CommandHandler();
> Arguments args = hnd.parseAndValidate(
> Arrays.asList(
> BASELINE.text(),
> BaselineCommand.SET.text(),
> "\"1,2,3\",\"3,2,1\""
> )
> );
> assertEquals(BASELINE, args.command());
> assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
> // FIx me: expected 2, actual 6
> assertEquals(2, args.baselineArguments().getConsistentIds().size());
> assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
> assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
> }
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)