Coverage for pyquickhelper/pycode/ci_helper.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-03 02:21 +0200

1""" 

2@file 

3@brief Helpers for CI. 

4""" 

5 

6 

7def is_travis_or_appveyor(env=None): 

8 """ 

9 Tells if is a *travis* environment or *appveyor*. 

10 

11 @param env checks that a environment variable is set up. 

12 @return ``'travis'``, ``'appveyor'``, ``'circleci'`` 

13 or ``'azurepipe'`` or ``None`` 

14 

15 The function should rely more on environement variables 

16 ``CI``, ``TRAVIS``, ``APPVEYOR``, ``AZURE_HTTP_USER_AGENT``. 

17 """ 

18 import sys 

19 if "travis" in sys.executable: 

20 return "travis" # pragma: no cover 

21 import os 

22 if os.environ.get("USERNAME", os.environ.get("USER", None)) == "appveyor" or \ 

23 os.environ.get("APPVEYOR", "").lower() in ("true", "1"): 

24 return "appveyor" # pragma: no cover 

25 if os.environ.get('CIRCLECI', "undefined") != "undefined": 

26 return "circleci" # pragma: no cover 

27 if os.environ.get('AZURE_HTTP_USER_AGENT', 'undefined') != 'undefined': 

28 return "azurepipe" # pragma: no cover 

29 if env is not None: 

30 for k in env: 

31 if k in os.environ and os.environ[k]: 

32 return k 

33 return None