ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

IOC: Continue conversion of oercone to Lua #4811

Open JamesKingWork opened 5 years ago

JamesKingWork commented 5 years ago

During a "Friday" on 02/10/2019, I implemented a proportion of the ticket https://github.com/ISISComputingGroup/IBEX/issues/4288. The purpose of this original ticket is as follows:

As a developer, I want an IOC converted to use LUA because it is a nicer language to use to start an IOC.

I partially converted the oercone ioc to lua. It was decided that to keep step with git master that the work already done should be reviewed (see original ticket).

However, this work did not fully complete the acceptance criteria of that ticket and there is still more to do.

Therefore this ticket has been created to complete that one and has the same acceptance criteria as the original ticket:

  1. IOC st.cmd uses LUA instead
  2. Database is still updated
  3. Devsim and rec sim tests still run in the IOC test framework
  4. Log is still captured as log file and in the database
  5. Errors in missing macros, db files are still reported

The work done so far:

A Lua script (st-common.lua) is called from st-common.cmd. This script then runs the functionality st-common.cmd would have.

Lua utility scripts now placed in the utilities module and used in the st-common.lua. These have been documented on https://github.com/ISISComputingGroup/ibex_developers_manual/wiki/Our-Lua-Utility-Functions

IocTestFramework tests for oercone pass. However, we have only partially converted the booting as only the st-common has been converted to lua and this is still called from an st-common.cmd file.

Luacheck set up and documented on https://github.com/ISISComputingGroup/ibex_developers_manual/wiki/LuaCheck

Still to do:

JamesKingWork commented 5 years ago

Our Lua utility functions are currently documented in https://github.com/ISISComputingGroup/ibex_developers_manual/wiki/Our-Lua-Utility-Functions but it would be better to have some form of real documentation using rst and then putting this onto the wiki somehow so it is closer to the code.