1

在 Origen 中运行标准测试程序流生成命令时,我遇到了一个我以前从未见过的错误:

COMPLETE CALL STACK
-------------------
Something went wrong resoving the app root in OrigenTesters
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/flow.rb:152:in `get_app'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/flow.rb:141:in `flow_sig'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/flow.rb:68:in `model'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/smartest_based_tester/base/flow.rb:42:in `at_flow_start'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/smartest_based_tester/base/generator.rb:42:in `at_flow_start'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen.rb:577:in `reset_interface'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/generator/flow.rb:34:in `create'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/origen_ext/generator/flow.rb:41:in `create'
/work/locn/myserver/93k-groups-IO/User/myproduct/myproduct_pcie/pcie/src/origen/pcie_flow.rb:1:in `<top (required)>'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/generator.rb:19:in `load'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/generator.rb:19:in `execute_source'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/generator/job.rb:134:in `run'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/origen_ext/generator.rb:18:in `block in generate_program'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/file_handler.rb:85:in `block in resolve_files'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/file_handler.rb:71:in `each'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/file_handler.rb:71:in `resolve_files'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/origen_ext/generator.rb:14:in `generate_program'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/application/runner.rb:81:in `block (2 levels) in launch'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/application/runner.rb:140:in `record_invocation'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/application/runner.rb:75:in `block in launch'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/file_handler.rb:392:in `preserve_state'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/application/runner.rb:18:in `launch'
/home/user/.origen/gems/ruby/2.3.0/gems/origen_testers-0.15.0/lib/origen_testers/origen_ext/application/runner.rb:21:in `launch'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/commands/program.rb:67:in `block in <top (required)>'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/commands/program.rb:50:in `_with_doc_tester'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/commands/program.rb:54:in `<top (required)>'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/commands.rb:233:in `require'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/lib/origen/commands.rb:233:in `<top (required)>'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/bin/origen:172:in `require'
/home/user/.origen/gems/ruby/2.3.0/bundler/gems/origen-7f825afec037/bin/origen:172:in `<top (required)>'
/work/locn/myserver/93k-groups-IO/User/origen/ppekit/lbin/origen:17:in `load'
/work/locn/myserver/93k-groups-IO/User/origen/ppekit/lbin/origen:17:in `<main>'

关于发生了什么的任何想法?

谢谢

4

1 回答 1

1

OrigenTesters 试图找出谁拥有它正在生成的当前流文件(看起来像:myproduct/myproduct_pcie/pcie/src/origen/pcie_flow.rb)。

它希望它要么是当前的顶级应用程序,要么是它的插件之一。

为了找出所有者,它试图从流文件的位置回溯以找到 Origen 根目录。在这里它失败了,因为看起来这个流文件可能不在 Origen 应用程序中?

这是生成错误的代码:https ://github.com/Origen-SDK/origen_testers/blob/master/lib/origen_testers/flow.rb#L146

它基本上是从 myproduct/myproduct_pcie/pcie/src/origen/pcie_flow.rb 回溯,直到找到一个 config/application.rb 文件,让它知道它已经找到了应用程序根目录。

我在这里猜想,也许您正在运行一个位于应用程序外部的程序流文件。

Origen 期望所有测试程序流文件都位于当前顶级应用程序或插件的 program/ 目录下。

于 2017-12-12T17:27:27.640 回答