aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorGravatar Kurtis Rader <krader@skepticism.us>2016-02-06 18:08:22 -0800
committerGravatar Kurtis Rader <krader@skepticism.us>2016-02-25 17:16:36 -0800
commit8b67a1b26f2525f7de1e2a64dee6ab48b72b0e33 (patch)
tree5e0a33d532f47c5b1909b46116247f16f9707d52 /README.md
parentc79ade9627b116a0dc4aecd27d1ff61e68fe595b (diff)
make testing on local servers hermetic
I noticed while fixing issue #2702 that the fish program being tested was sourcing config.fish files outside of the current build. This also happens when Travis CI runs the tests but isn't an issue there because of how Travis is configured to execute the tests. I also noticed that running `make test` was polluting my personal fish history; which will become a bigger problem if and when the fishd universal var file is moved from $XDG_CONFIG_HOME to $XDG_DATA_HOME. This change makes it possible for an individual to run the tests on their local machine secure in the knowledge that only the config.fish and related files from their git repository will be used and doing so won't pollute their personal fish history. Resolves #469
Diffstat (limited to 'README.md')
-rw-r--r--README.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/README.md b/README.md
index 172325ec..c9636dd6 100644
--- a/README.md
+++ b/README.md
@@ -52,6 +52,31 @@ On RedHat, CentOS, or Amazon EC2:
sudo yum install ncurses-devel
+## Testing
+
+### Travis CI Build and Test
+
+You can have the Travis continuous integration tool automatically build and test your changes. This requires you to fork the project on GitHub or have pushed your local fish-shell repository to GitHub.
+
+Login to [Travis CI](https://travis-ci.org/) with your GitHub account and enable your fish-shell clone. To reach that page click the plus-sign to the right of "My Repositories" on the main page for your account or go to your [profile page](https://travis-ci.org/profile/). After you do that every time you push changes to GitHub Travis will automatically build and test those changes. You'll receive an email when the tests are complete telling you whether or not any tests failed. This helps avoid being embarrassed by making a pull-request only to find you introduced a bug or failed to update a unit test. This also ensures that even if you can build and run fish on your system that it can also be built and run on other types of systems.
+
+You'll find the configuration used to control Travis in the `.travis.yml` file.
+
+### Running the Tests On Your Local Server
+
+You should not build and install fish using the instructions above after
+making changs until you've run the tests. You may or may not need to create an
+appropriate `Makefile` by running the following one time:
+
+ autoconf
+ ./configure
+
+To run the unit tests:
+
+ make test
+
+Note: These instructions will work on Mac OS X as well as Linux but do require that you've used something like [Homebrew](http://brew.sh/) to install autoconf and related tools.
+
## Runtime Dependencies
fish requires a curses implementation, such as ncurses, to run.