ext,test: Provide default terminal size

When creating the separator for printing things to the terminal (=.*) we
use an ioctl that isn't supported in some sandboxed environments. When
running on the Google jenkins server (kokoro) it errors with an IOError.

Change-Id: I148dd87cffe6e93d6723a386aecf9a9ea6c5b455
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17449
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
diff --git a/ext/testlib/terminal.py b/ext/testlib/terminal.py
index 3afbb42..bdb20ed 100644
--- a/ext/testlib/terminal.py
+++ b/ext/testlib/terminal.py
@@ -106,10 +106,16 @@
 
 def terminal_size():
     '''Return the (width, heigth) of the terminal screen.'''
-    h, w, hp, wp = struct.unpack('HHHH',
-        fcntl.ioctl(0, termios.TIOCGWINSZ,
-        struct.pack('HHHH', 0, 0, 0, 0)))
-    return w, h
+    try:
+        h, w, hp, wp = struct.unpack('HHHH',
+            fcntl.ioctl(0, termios.TIOCGWINSZ,
+            struct.pack('HHHH', 0, 0, 0, 0)))
+        return w, h
+    except IOError:
+        # It's possible that in sandboxed environments the above ioctl is not
+        # allowed (e.g., some jenkins setups)
+        return 80, 24
+
 
 def separator(char=default_separator, color=None):
     '''