shell dot on steroids https://pagure.io/shellfu

TODO.md 2.7KB

TODO

global/misc

  • persistence -- autocreate TMP, store things there

  • flow.sh -- implement phase / outcome mechanism. Support for automatic mktemp/pushd/cp/popd/rmrf wrappng (make friends with collect_artifact*)

  • __echo -- add --source, i.e. print source of a particular function at runtime

  • fix up ffoo --list-*, current implementation is scratching right ear with left hand

  • support conflict checking in ffoo. i.e. for TI and the likes

  • doc - finish ffdoc, add first line to function lists

  • trap EXIT to cleanup

  • backup / restore

  • make better use of bash features and wipe out unnecessary grep/sed/perls

  • support deeper level of import, making e.g.

    import foo/bar
    

    import

    include/foo/bar.sh
    

    first use case would be pretty.1

  • separate core libs and extras

  • maybe separate ffoo from core libs

test

  • write some tests!

core.sh

  • add -name arg to debug, e.g. for pipe/cmd/file and use it in mkpretty

  • set fixed list of valid "leaks" to mkpretty

mkpretty_*.sh

  • add "main" pretty.sh to import submodules

  • do not import on each call

  • change name to pretty

recon.sh

  • feature checking?

sw.sh

  • support Beaker tasks in any_install

setup.sh

  • make your own dog foo or use other than GNU make

testing.sh

  • think: laziness, i.e. we only run actual test because it's only way how to obtain result. but could we have a way to preemptively "insert" the result based on cheap/fast/soft/safe check done e.g. by Harness? would that help make the whole damn thing less complex? (than w/ pre-selection?)

  • outside test: setup, setupt, teardownt, teardown: fail=give up all hope.

    inside test: always teardownt, except if bailout before setupt was done (e.g. based on bugstate or feature check)

  • phase outcome: fail, bailout (reason: waive, impossible, tool fail?), pass (1 per test phase?)

  • collect_artifact -t -- make a timestamp-rooted copy of artifact tree or a particular artifact (with some implicit meta data)

  • bugstate, bugstate_* -- ini-configurable bailout mechanism for bug-related contingency. use offline (iniread?) cache, provided by upper harness for, say, rhel7. (use expectedness?) e.g.

    bailout_if bugstate_open rhbz12345
    

    use a darn-simple buglist format (one that can work across many bugzillas el/fc/github/deb/whatever)

    make separate (ee*) independent tool to answer this query

yummy.sh

  • better understanding and possibly comparison of NVR (wrap RPM is OK)