我正在尝试自动化服务的供应和搜索,以加快对OSGi系统更改的测试。我使用Maven Pax:Provision从各种存储库设置环境。
我有一些命令从xml文件加载数据,然后一些命令搜索服务。搜索命令都返回一个描述结果的字符串。
我有一个条款。使用命令加载osgi环境并进行搜索。运行搜索命令的TSL文件。在搜索中。我有一个搜索命令列表,每个命令用于我加载的各种表。如
echo Doing some searching
searchcell someTable someValue searchColumnName
echo search someOtherTable
searchcell someOtherTable someOtherValue searchColumnName
echo search yetAnotherTable
searchcell yetAnotherTable yetSomeOtherValue searchColumnName
但是,当我运行搜索命令时,例如
osgi> gosh search.tsl
我只从文件中的最后一个命令获得结果。Echo工作正常,看起来像。
Doing some searching
search someOtherTable
search yetAnotherTAble
return results from searchCell yetAnotherTAble
这是gosh的预期行为吗?
gosh控制台自动打印每个交互式命令的值。
这使得searchcell命令看起来是打印结果,而实际上它返回的是一个String, gogo打印出来。
这在脚本中不起作用,因此您要么需要重新编码searchcell命令以打印到标准输出,要么显式地打印脚本中的每个结果:
echo Doing some searching
echo (searchcell someTable someValue searchColumnName)
echo search someOtherTable
echo (searchcell someOtherTable someOtherValue searchColumnName)