Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy_test.base.env

"""Base utilities for working Galaxy test environments.
"""
import fcntl
import os
import socket
import struct
from typing import Optional, Tuple

DEFAULT_WEB_HOST = socket.gethostbyname('localhost')


[docs]def setup_keep_outdir() -> str: keep_outdir = os.environ.get('GALAXY_TEST_SAVE', '') if keep_outdir > '': try: os.makedirs(keep_outdir) except Exception: pass return keep_outdir
[docs]def target_url_parts() -> Tuple[str, Optional[str], str]: host = socket.gethostbyname(os.environ.get('GALAXY_TEST_HOST', DEFAULT_WEB_HOST)) port = os.environ.get('GALAXY_TEST_PORT') if port: default_url = f"http://{host}:{port}" else: default_url = f"http://{host}" url = os.environ.get('GALAXY_TEST_EXTERNAL', default_url) return host, port, url
[docs]def get_ip_address(ifname: str) -> str: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15].encode('utf-8')) )[20:24])