emacs-ipython-notebook/CONTRIBUTING.md

42 lines
1.4 KiB
Markdown

Getting started
---------------
Thank you for contributing! EIN development will work best in a UNIX environment.
Fork the repo on github. Clone the fork to your home directory.
Install cask. Run `make dist` to ensure correct cask functionality.
Run `make test` to ensure a correct baseline.
Until we institute a virtualenv for the required testing software (jupyter, R, matplotlib, etc.), out-of-the-box `make test` remains problematic.
Remove the MELPA-installed EIN by deleting the package directory (on my system, it's `~/.emacs.d/elpa/ein-20190122.1341`) or running `M-x package-delete`.
In your `init.el` or `.emacs`, add the following:
```
(add-to-list 'load-path "~/emacs-ipython-notebook/lisp")
(load "ein-autoloads")
```
Now whatever changes you make to the repo will be reflected in new emacs instances.
Dev tools
---------
`M-x ein:dev-start-debug` activates full logging and backtrace on error.
Quick sanity checking
---------------------
`make quick` runs a syntax check and the unit tests. It is far quicker than the laborious `make test`.
Unit tests
----------
Located in `~/emacs-ipython-notebook/test`.
Integration tests
-----------------
If you add a feature, we encourage writing an integration test.
`cask exec ecukes` is the bulk of `make test`. Ecukes is our friend and guardian. We follow its opinionated file structure in `~/emacs-ipython-notebook/features`.
To run say just the login tests, `cask exec ecukes --tags "@login"`.