Yes, you'll need to escape the quotes unfortunately. E.g. atest host list --label label0,\"comma,label\"
- dale On Mon, Jun 21, 2010 at 12:50 PM, Jongki Suwandi <[email protected]>wrote: > If you typed > > atest host list --label label0,"comma,label" > > on the shell command line, wouldn't the quotes get consumed by the shell > first? > > -Jongki > > On Mon, Jun 21, 2010 at 12:39 PM, James Ren <[email protected]> wrote: > >> (Resending for dalecurtis; Patchwork didn't pick up the patch, and I >> suspect it's because it doesn't recognize the file extension) >> >> All, >> >> The "host list", "host create", and "job create" command line options for >> the atest CLI module do not support labels with commas. In our deployment we >> have several labels which contain commas, leading to some bad parsing when >> trying to use the CLI tools. I've added quoting support to the >> topic_common.item_parse_info.get_values.__get_items(...) function to fix >> this. >> >> For example, previously 'atest host list --label label0,"comma,label"' >> would not be parsed properly into two labels. Now the labels are parsed as >> 'label0' and 'comma,label'. >> >> Any option using topic_common.item_parse_info gets this behavior for free. >> Specifically for our needs, I've changed the "atest host list" and "atest >> job create" methods from using <string>.split(',') to >> topic_common.item_parse_info for labels. >> >> Implementation wise, I modified the >> topic_common.item_parse_info.get_values.__get_items(...) regex so that it >> wouldn't split up items in quotes and changed the stripping so that leading >> and trailing quotes were removed from the split items. The new regex is ([, >> ]|\\\".*?\\\".*?) if space splitting is enabled and ([,]|\\\".*?\\\".*?) >> otherwise. >> >> Testing was done through 18 new unit tests, running the gamut of good >> quotes and mismatched quotes at the parser level as well as individual unit >> tests for the "host list", "host create", and "job create" methods. >> >> All unit tests pass, but if there are any deployments out there that were >> using the CLI tools and have quotes in their labels (or any option relying >> on topic_common.item_parse_info), they will no longer parse properly. >> Another more minor quibble is consistency from a user point of view. I've >> only added support for quotes to the topic_common.item_parse_info class, but >> there are a couple other areas which are still using <string>.split(',') to >> parse their options. Specifically status names, host names, test names, and >> dependencies in the host.py and job.py files. I've left these alone for now, >> but if anyone objects I can roll them in. >> >> I've attached the patch file for the changes, but if you prefer a more GUI >> driven experience, you can see the change list here: >> >> http://codereview.chromium.org/2740001/show >> >> Risk: Low-Medium (CLI infrastructure and tests modified) >> Visibility: CLI users >> >> Regards, >> >> Dale Curtis >> Software Engineer in Test @ Google >> >> Signed-off-by: Dale Curtis <[email protected]> >> >> _______________________________________________ >> Autotest mailing list >> [email protected] >> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest >> >> > > _______________________________________________ > Autotest mailing list > [email protected] > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > >
_______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
