Location
Depending on how and where PyFunceble is operated, it will try to load the configuration from dedicated locations.
Custom Folder
If you want to skip and define your own configuration folder, you can define
the storage location of the configuration files through
the PYFUNCEBLE_CONFIG_DIR
environment variable.
Custom File
If you want to provide your own configuration file, you can provide it through
the --config-file
CLI argument. If the given argument is a URL, PyFunceble
will download it and use it as the configuration file.
Note
The given configuration file will be loaded after the default
configuration file (.PyFunceble.yaml
) and before the overwrite (.PyFunceble.overwrite.yaml
) configuration file.
Operating Systems
Linux & MacOS
Under Linux or MacOS, PyFunceble will look for the following folders respectively.
~/.config/PyFunceble
~/.PyFunceble
$PWD
(current folder)
The first matching and found folder will be used to install the initial configuration or system files.
Note
If the parent folder does not exist, it will try to look for the next possible location.
However, if none is found, it will try to create the ~/.config/PyFunceble
folder. If the ~/.config
folder doesn't exists, it will try the next one
until a viable folder is found.
Beware!!
Under some circumstances (cf: under a CI/CD engine), the behavior may be different.
Windows
Under Windows, PyFunceble will look for the following folders respectively.
%APPDATA%\PyFunceble
%CD%
The first matching and found folder will be used to initall the initial configuration or system files.
Note
If the parent folder does not exist, it will try to look for the next possible location.
However, if none is found, it will try to create the %APPDATA%\PyFunceble
folder. If the %APPDATA%
folder doesn't exists, it will try the next one
until a viable folder is found.
CI / CD Engines
When runing under a CI/CD engine, PyFunceble mostly use the workspace folder a the current folder.
That means, that if you don't set the PYFUNCEBLE_CONFIG_DIR
environment variable, the root folder of your repository will be used as the configuration folder.
Edge Cases
Cloned Repository
If you cloned the PyFunceble repository, and you are trying to run a test from the root folder, PyFunceble will consider the repository's root folder as its configuration directory.