Skip to content

hspec/sensei

This branch is up to date with main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ad0c909 · Feb 6, 2025
Jan 25, 2025
Sep 16, 2024
Feb 6, 2025
Feb 6, 2025
Feb 6, 2025
Jan 11, 2023
Nov 18, 2021
Mar 13, 2016
Sep 16, 2024
Mar 13, 2016
Feb 6, 2025
Jul 15, 2023
Feb 6, 2025
Feb 6, 2025

Repository files navigation

THIS IS EXPERIMENTAL STUFF! USE AT YOUR OWN RISK!

先生 (rōmaji: sensei)

In its simplest form, you run sensei with the Main module of your test suite as an argument:

sensei test/Spec.hs

Note that sensei picks up options from .ghci-files. You can provide additional GHC options on the command line:

sensei -isrc -itest test/Spec.hs

Command-line arguments that look like Hspec options are passed to Hspec. To avoid ambiguity, GHC options have to be given before any Hspec options:

sensei -isrc -itest test/Spec.hs --no-color --match foo

All command-line arguments after the last -- are passed to Hspec, regardless of how they look:

sensei -isrc -itest test/Spec.hs -- --no-color --match foo

Warnings and errors

By default, sensei treats warnings as errors. You can pass -Wwarn on the command line to prevent this behavior. However, consider to adjust the warning behavior instead (e.g. through -w, -Wdefault, -Wall).

Boring files

When sensei is used inside a Git repository, it ignores modifications to files that are ignored by git.

Using sensei with Cabal sandboxes

cabal exec sensei test/Spec.hs

生徒 (rōmaji: seito): Accessing results on the command line

You can access the results of the last test run with seito:

seito

Alternatively, if you have curl version 7.40.0 or newer, you can use curl instead:

curl --unix-socket .sensei.sock http://localhost/

Vim integration

You can use sensei to load the result of the last test run into your quickfix list by executing :make in Vim.

For this to work, you can either create a Makefile or set makeprg to a custom value.

(In both cases, sed is used to strip ANSI color sequences.)

Option 1: Create a Makefile

Create a Makefile with the following content:

all:
	@seito

Option 2: Set makeprg:

Add the following to your Vim configuration (e.g. ~/.vim/after/ftplugin/haskell.vim):

:set makeprg=seito

Emacs integration

Similarly, you can use sensei to load the result of the last test run into an Emacs buffer by executing M-x compile in Emacs.

For this to work, you can create a Makefile as described in Option 1 above.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published