Skip to content
Snippets Groups Projects
Commit 8164fb57 authored by Peter Thedens's avatar Peter Thedens
Browse files

Merge branch 'TESTING_documentation_updates' into 'master'

Updates to testing infrastructure

See merge request !20
parents 3debee28 a1d94b93
No related branches found
No related tags found
No related merge requests found
Showing
with 94 additions and 27 deletions
......@@ -11,10 +11,10 @@ stages:
build_job:
stage: build
script:
- bash ci-build.sh
- bash ci/ci-build.sh
# run tests using the binary built before
test_job:
stage: test
script:
- bash ci-test.sh
- bash ci/ci-test.sh
## Bug Description
*Describe the bug*
### Steps to reproduce
1.
## Proposed Fix
*Describe the proposed fix for the bug*
## Problem Description
*Describe the area needing improvement or clean up*
## Proposed Solution
*Describe the proposed solution*
## Problem Description
*Describe the problem or idea*
## Proposed Solution
*Describe the proposed solution to the problem*
## Bug Description
*Describe the bug*
## Fix Description
*Describe your implemented fix*
## Impacted Areas
*Remove inapplicable items*
- Quad Software
- Controls
- Ground Station
- Testing
## Problem Description
*Describe the problem you addressed with the clean up*
## Refactor Description
*Describe your clean up efforts*
## Clean up areas
*Remove inapplicable items*
- Code refactor
- Code comments added
- Documentation added
## Feature Description
*Describe the feature*
## Implementation Details
*Describe your implementation*
## Impacted Areas
*Remove inapplicable items*
- Quad Software
- Controls
- Ground Station
- Testing
[![build status](https://git.ece.iastate.edu/danc/MicroCART/badges/master/build.svg)](https://git.ece.iastate.edu/danc/MicroCART_17-18/commits/master)
[![build status](https://git.ece.iastate.edu/danc/MicroCART/badges/master/build.svg)](https://git.ece.iastate.edu/danc/MicroCART/commits/master)
# MicroCART
......@@ -25,17 +25,18 @@ MicroCART has 3 areas of development:
effective characterization of the quad.
## Sections
[Quadcopter](quad/README.md)
[Ground Station](groundStation/README.md)
[Controls](controls/README.md)
- [Quadcopter](quad/README.md)
- [Ground Station](groundStation/README.md)
- [Controls](controls/README.md)
## Documentation
[How to demo the quadcopter](documentation/how_to_demo.md)
[How to charge the LiPo batteries](documentation/how_to_charge_lipo.md)
[Continuous Integration FAQ](documentation/ci_faq.md)
[How to document things on Gitlab](documentation/how_to_document_things_on_gitlab.md)
[How to update the website](website/README.md)
[How to use Git](documentation/how_to_use_git.md)
- [Getting started](documentation/getting_started.md)
- [How to demo the quadcopter](documentation/how_to_demo.md)
- [How to charge the LiPo batteries](documentation/how_to_charge_lipo.md)
- [Continuous Integration FAQ](documentation/ci_faq.md)
- [How to document things on Gitlab](documentation/how_to_document_things_on_gitlab.md)
- [How to update the website](website/README.md)
- [How to use Git](documentation/how_to_use_git.md)
# Stable Releases
To browse stable releases from previous teams, view the [Tags](/../tags).
# What's here?
This folder contains the scripts run by the CI pipeline on GitLab.
The [`.gitlab-ci.yml`](.gitlab-ci.yml) at the top level of the repo
specifies the two stages of the pipeline, __Build__ and __Test__.
## Build Stage
The build stage is defined by the [`ci-build.sh`](ci/ci-build.sh) file.
It runs [make](quad/Makefile) under the quad directory to build the project.
## Test Stage
The test stage is defined by the [`ci-test.sh`](ci/ci-test.sh) file.
It runs [make test](quad/Makefile#36) under the quad directory to run the tests.
File moved
File moved
......@@ -36,10 +36,10 @@ directory.
## How does CI work?
When a commit is added to a branch in our repository, a notification is sent out
to our gitlab-ci-runner, which instructs it to checkout the updated branch and
run the directive in `.gitlab-ci.yml`. It then runs each directive, which is
run the directive in [`.gitlab-ci.yml`](.gitlab-ci.yml). It then runs each directive, which is
made up of bash scripts to execute. In our case, we run two scripts,
`ci-build.sh` and `ci-test.sh`, which compile projects and run checks,
respectively. (Look at these scripts to learn more about how they work). If
some error occurs during the script (perhaps a forced error generated by a
failed test), then the runner sends a message back to Gitlab indicating that the
CI failed. Otherwise, it succeeds.
[`ci-build.sh`](ci/ci-build.sh) and [`ci-test.sh`](ci/ci-test.sh),
which compile projects and run checks, respectively. Look at these scripts to
learn more about how they work. If some error occurs during the script
(perhaps a forced error generated by a failed test), then the runner sends a
message back to Gitlab indicating that the CI failed. Otherwise, it succeeds.
......@@ -37,9 +37,9 @@ test: all
$(MAKE) -C src/queue test
$(MAKE) -C src/computation_graph test
$(MAKE) -C src/quad_app test
ruby scripts/tests/test_memory_integrity.rb
ruby scripts/tests/test_safety_checks.rb
ruby scripts/tests/test_communication.rb
ruby scripts/ci-tests/test_memory_integrity.rb
ruby scripts/ci-tests/test_safety_checks.rb
ruby scripts/ci-tests/test_communication.rb
clean:
rm -rf $(INCDIR) $(LIBDIR) $(OUTDIR) $(EXEDIR)
......
......@@ -77,7 +77,7 @@ ensure
Process.kill(2, quad)
sleep 1 # wait for valgrind to write to file
# Process the valgrind file
# Process the valgrind file, look for number of errors
file = File.open("./valgrind.out")
everything = file.readlines
last_line = everything.last
......
......@@ -51,7 +51,7 @@ Timeout::timeout(60) {
check_led(0, "LED was on at startup! It should be off so that we can verify when the quad is ready.")
puts("Check that increasing the throttle does nothing to motors")
# (because gear is still off)
# Motors should not engage when gear is still off
for i in (THROTTLE_MIN..THROTTLE_MAX).step(0.01)
set_throttle(i)
check_motors_are_off "Was able to turn on motors with GEAR off! Yikes!"
......@@ -60,7 +60,8 @@ Timeout::timeout(60) {
end
puts("Check that flipping gear to 1 while throttle is high does nothing")
# (motors should still be off, LED should still be off)
# Motors should still be off, LED should still be off
set_gear GEAR_ON
sleep 0.01
check_motors_are_off "Motors turned on by gear while rc throttle was high! How dangerous!"
i = THROTTLE_MAX
......@@ -72,12 +73,12 @@ Timeout::timeout(60) {
sleep 0.005
end
# (swtich GEAR back to off and bring throttle off)
# Switch GEAR off and bring throttle off
set_gear GEAR_OFF
set_throttle THROTTLE_MIN
puts("Check that the LED turns on when gear is flipped on")
# (motors should still be off because our throttle is low)
# Motors should still be off because our throttle is low
set_gear GEAR_ON
sleep 0.01
check_motors_are_off "Motors turned on while throttle was low! Yikes!"
......@@ -129,7 +130,7 @@ Timeout::timeout(60) {
sleep 0.01
check_motors_are_off "Motors didn't turn off when GEAR was switched off! How dangerous!"
# (Bring the RC throttle back down)
# Bring the RC throttle back to minimum
set_throttle THROTTLE_MIN
puts "All safety checks passed."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment