Error: infinite loop calling func from another case

An error is thrown when calling a function that hasn't been defined in
the suite. If the function was defined in the same test case then it
will run. If the function was defined in another test case, it looks
like the index range is remembered but the commands are taken from the
current test case. When those commands execute successfully, infinite
recursion occurs.

It looks like functions are almost global. They should be, it would be
much more useful to define all the functions in one "case" that could be
used like a library, then call those functions in cases that come after
the library case(s) was/were loaded.