Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instructions for integrating CI with cob spec #68

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,36 @@ Running Tests
- To run the simple http request tests, first click the ResponseTestSuite link, then click the Suite button.
- To run the tests that require threading, first click the SimultaniousTestSuite link, then click the Suite button.
- To run a test individually, first click on the test link, then click the Test button.

Adding CI
------------
- Fork cob spec
- On your local machine navigate to your server's directory
- Create a submodule using the forked copy of cob spec `git submodule add https://github.com/myusername/cob_spec`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be the SSH version of the URL in case someone wants to push changes to their fork?

- Within this new submodule navigate to `FitNesseRoot` and create a new directory `mkdir PassingTests`
- Copy contents of `HttpTestSuite` into your new directory `PassingTests` by issuing the following command: `cp -r HttpTestSuite/ PassingTests/`
- Navigate into `PassingTests/ResponseTestSuite` and add/remove cob spec tests as necessary
- To add a test to the `PassingTests`: `cp -r HttpTestSuite/ResponseTestSuite/SimpleGet PassingTests/ResponseTestSuite/SimpleGet/`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was under the impression that there is a way to include a test in a different suite without having to duplicate it. Possibly by using something like Fitnesse's Include feature

There's a chance I am wrong about this though.

- To remove a test in `PassingTests`: `rm -rf PassingTests/ResponseTestSuite/SimpleGet/`
- Navigate to your server's directory. Create a new `.sh` file `touch run_cob_spec_tests.sh`
- Open the file and add the following:

`#!/bin/bash`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me, this feels like it could be one code block, especially since the lines are logically grouped with each other.

Like this:

```bash
#!/bin/bash
set -e
mvn package
...
```


` set -e`

`cd cob_spec`

`mvn package`

`java -jar fitnesse.jar -c "PassingTests?suite&format=test"`

- The following CI instructions are for TravisCI but follow a similar pattern for other CI platforms. In .travis.yml:
`before_install:`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above comment about merging the lines into one.


` - chmod +x run_cob_spec_tests.sh`

`script:`

` - "./run_cob_spec_tests.sh"`
- Push branch and run the build