do not redirect_stdout in test scripts

In a test, I called print() on a multi-line string and saw the log
showing each line 0.2 seconds apart. redirect.stdout seems to be pretty
inefficient.

Instead, put a print() function into the testenv, to directly call log()
on the strings passed to print().

The initial idea for redirect_stdout was that we could print() in any
deeper functions called from a test script. But we have no such nested
print() anywhere, only in test scripts themselves.

As a result of this, a multi-line print() in test scripts now no longer
puts the log prefix (timestamp, test name...) and suffix (backtrace /
source position) to each single line, but prints the multiline block
between a single log prefix and suffix -- exactly like the log()
function does everywhere else.

I actually briefly implemented adding the log prefix to each separate
line everywhere, but decided that it is not a good idea: in some places
we log config file snippets and other lists, and prepending the log
prefix to each line makes pasting such a snippet from (say) a jenkins
log super cumbersome. And the log prefix (backtrace) attached on each
separate line makes multiline blocks very noisy, unreadable.

Change-Id: I0972c66b9165bd7f2b0b387e0335172849199193
4 files changed
tree: 437ca4d71846b4f179d0d4e509844163fdc2defd
  1. contrib/
  2. doc/
  3. selftest/
  4. src/
  5. sysmocom/
  6. utils/
  7. .gitignore
  8. .gitreview
  9. COPYING
  10. Makefile
  11. README.md
README.md

About Osmo-GSM-Tester

Osmo-GSM-Tester is a software to run automated tests on real hardware, initially foremost to verify that ongoing Osmocom software development continues to work with various BTS models, while being flexibly configurable and extendable to work for other technologies, setups and projects. It can nowadays also be used to run 4G networks with components from different providers.

Find Osmo-GSM-Tester issue tracker and wiki online at https://osmocom.org/projects/osmo-gsm-tester

Simple configuration setups can be found under doc/examples/ directory. A Osmocom's public Osmo-Gsm-Tester configuration setup is also maintained here under sysmocom/ as a reference for others.

Ansible scripts to set up hosts to be used as Osmo-GSM-Tester Main Units or/and Slave Units on the above mentioned setup can be found at https://git.osmocom.org/osmo-ci/tree/ansible, which actually install sample system configuration files from utils/ directory in this same repository.

A sample Docker setup is also maintained publicly at https://git.osmocom.org/docker-playground/tree/osmo-gsm-tester.

For the complete documentation, please refer to Osmo-GSM-Tester User manual, available in sources under doc/manuals/ under this same repository, and prebuilt in pdf form at http://ftp.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf