Description
In a world ruled by expect(1) and TCL, we discuss an alternative that was developed based on scripting with lua instead. porch(1) was developed with a language already available and used in FreeBSD base in mind, with the aim of TTY testing via pts(4).
The overall aim of this project is to provide a simple subset of expect(1) functionality specifically aimed at developer and sysadmin automation in another popular language with many niceties for scripted interaction.
In this talk, we'll specifically discuss:
- The motivation for writing porch
- The underlying design/philosophy (with diagrams to describe the model)
- Bundled-in functionality beyond script execution
- Practical samples used in FreeBSD today
--
The author has been a FreeBSD src committer since 2017, working on many parts of the tree and gradually introducing lua into the base system. His most recent exploits include improving base system boot environment management with bectl(8) and excursions into the tty layer.
One-line summary | Discussion of a Lua-based alternative to expect(1) |
---|