50 lines
1.2 KiB
Markdown
50 lines
1.2 KiB
Markdown
# Development
|
|
|
|
This document contains some additional information and help regarding
|
|
developing `mgmt`. Useful tools, conventions, etc.
|
|
|
|
Be sure to read [quick start guide](quick-start-guide.md) first.
|
|
|
|
## Testing
|
|
|
|
This project has both unit tests in the form of golang tests and integration
|
|
tests using shell scripting.
|
|
|
|
Native golang tests are preferred over tests written in our shell testing
|
|
framework. Please see [https://golang.org/pkg/testing/](https://golang.org/pkg/testing/)
|
|
for more information.
|
|
|
|
To run all tests:
|
|
|
|
```
|
|
make test
|
|
```
|
|
|
|
There is a library of quick and small integration tests for the language and
|
|
YAML related things, check out [`test/shell/`](/test/shell). Adding a test is as
|
|
easy as copying one of the files in [`test/shell/`](/test/shell) and adapting
|
|
it.
|
|
|
|
This test suite won't run by default (unless when on CI server) and needs to be
|
|
called explictly using:
|
|
|
|
```
|
|
make test-shell
|
|
```
|
|
|
|
Or run an individual shell test using:
|
|
|
|
```
|
|
make test-shell-load0
|
|
```
|
|
|
|
Tip: you can use TAB completion with `make` to quickly get a list of possible
|
|
individual tests to run.
|
|
|
|
## Tools, integrations, IDE's etc
|
|
|
|
### IDE/Editor support
|
|
|
|
- Emacs: see `misc/emacs/`
|
|
- [Textmate](https://github.com/aequitas/mgmt.tmbundle)
|