almighty-test-runner

command module
v0.0.0-...-7a41e1a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2016 License: Apache-2.0 Imports: 1 Imported by: 0

README

= ALMighty Test Services
:test: gometaliner

This repository consists of testing services provided by ALMighty.

== ALMighty Test Runner

=== Key features

* Running project build in different configurations in isolated sets of docker containers

Project itself depends on following tools, which are incorporated into the build process:

* link:https://glide.sh/[glide] for dependency management
* link:https://github.com/onsi/ginkgo[ginkgo] for testing

=== How to use it?

Stay tuned! Work in progress :) For the moment this repository consists of basic functionalities and infrastructure to write and test the code.

=== Start hacking [[hacking]]

You need to have following packages in place

* `go` (>= v1.6)
* `git`
* `make`

Assuming that you have all the link:https://golang.org/doc/install[Golang prerequisites] in place (such as `$GOPATH`), clone the repository first:

[source,bash]
----
$ git clone https://github.com/almighty/almighty-test-runner $GOPATH/src/github.com/almighty/almighty-test-runner
----

NOTE: Have a look how link:https://github.com/moovweb/gvm[Go Version Manager] can help you simplifying configuration and management of different versions of Go.

Then run the build by simply executing `make` from the root directory. This will perform following actions:

. Clean artifacts from the previous build
. Fetch or update dependencies using `glide`
. Compile and build binaries
. Run tests

When in doubt just `make help`.


=== Continuous Testing [[testing]]

In order to continuously run the tests whenever code change occur execute following command from the root directory of the project:

[source,bash]
----
$ ginkgo watch -r
----

and keep it running in the terminal.

=== Code analysis [[code-analysis]]

To perform static analysis of the code base we use link:https://github.com/alecthomas/gometalinter[`gometalinter`] tool. To install it run following commands:

[source,bash]
----
$ go get -u github.com/alecthomas/gometalinter && gometalinter --install
----

In order to execute the check simply invoke `make check` which effectively does:

[source,bash]
----
gometalinter --vendor --deadline 10s ./...
----

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
core

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL