image for ubuntu-make medium tests
1.0K
Ubuntu Make is a project designed to enable quick and easy setup of common needs for developers on Ubuntu.
More information on what this snap is available at https://didrocks.fr/2017/07/05/ubuntu-make-as-a-classic-snap-intro/
We recommend to use the Ubuntu Make snap to ensure you always have the latest and greatest version, even on older supported releases.
$ snap install ubuntu-make --classic
If installed via the snap it can be run as ubuntu-make.umake, or via the alias umake
If the snap does not work there is a daily build ppa:
sudo add-apt-repository ppa:lyzardking/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
Umake has three listing options:
--list to show all the frameworks--list-available to show the available frameworks--list-installed to show the installed frameworksTo run the tool:
$ ./umake
You can use --help to get more information and change the verbosity of the output with -v, -vv.
Note that this project uses python3 and requires at least python 3.3. All commands use the python 3 version. There are directions later on explaining how to install the corresponding virtualenv.
To enable shell completion on bash or zsh, just run:
$ . enable_completion
Multiple logging profiles are available in confs/ to be able to have different traces of your execution (particularly useful for debugging). For instance, you will find:
Under normal circumstances, we expect error.log to remain empty../
To load one of those logging profiles:
$ LOG_CFG=confs/debug.logcfg bin/umake
It's possible for anyone to have local frameworks for either development purposes or for special local or team use-cases.
Any file should eventually contain a category or frameworks like the ones in umake/frameworks/*.
If category names are duplicated only one will be loaded. Ubuntu Make will first load the one controlled by the environment variable, then the one located in the home based directory, and finally, the system one. Note that duplicate filenames are supported but not encouraged.
We are running pep8, but the max line length has been relaxed to 120. env/ is excluded from the pep8 check as well.
Running this test, in particular:
$ ./runtests pep8
This will run those pep8 checks on the code.
You can also run the pep8 tool directly from the project directory:
$ pep8 .
There are four types of tests that can be combined in runtests:
To run all the tests, with coverage report, like in our jenkins infra:
$ ./runtests
Use --no-config to disable the coverage report selection.
By default, runtests will not display any debug output if the tests are successful, similar to Nose. However, if only some tests are selected, runtests will a display full debug log,
$ ./runtests tests/small/test_tools.py:TestConfigHandler
Use --no-config to disable the debug output selection.
runtests is a small nose wrapper used to simplify the testing process. By default, if no arguments are supplied or if "all" is supplied, runtests will run all available tests on the project using the production nose configuration. It is possible to run only some types of tests:
$ ./runtests small medium
This will only run small and medium tests, with all nose defaults (no profile is selected).
Finally, you can run a selection of one or more tests:
$ ./runtests tests/small/test_tools.py:TestConfigHandler
This enables the debug profile by default, to display all outputs and logging information (at debug level).
You can activate/disable/change any of those default selected configurations with --config/--coverage/--debug/--no-config (see runtests --help for more information)
Some nose configurations are available in confs/. You will find:
runtests is compatible with showing the Python warnings:
$ PYTHONWARNINGS=d ./runtests
For an easier development workflow, we encourage the use of virtualenv to test and iterate on the project rather than installing all the requirements on your machine. In the project root directory run (env/ is already in .gitignore and excluded from pep8 checking):
$ virtualenv --python=python3 --system-site-packages env
$ sudo apt-get install -qq apt apt-utils libapt-pkg-dev # those are the requirements to compile python-apt
$ sudo apt-get install -qq python3-gi # not installable with pypi
$ sudo apt-get install -qq bzr python3-dev # requires for pip install -r
$ env/bin/pip install -r requirements.txt
$ source env/bin/activate
$ bin/umake
Instead of using a virtual environment, you can install system packages to be able to run the Ubuntu Make tests. The build dependencies are listed in debian/control and should be available in latest development Ubuntu version. If you are using the latest LTS, you should find them in a dedicated Ubuntu Make Build-dep ppa.
Refresh .pot files:
$ ./setup.py update_pot
Content type
Image
Digest
Size
167.2 MB
Last updated
about 6 years ago
docker pull lyzardking/ubuntu-make