Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/lambdaisland/kaocha

Full featured next gen Clojure test runner
https://github.com/lambdaisland/kaocha

Use clojure instead of clj when running feature tests

27af6c38bfaec20659774489537ca55535e7a028 authored over 6 years ago by Arne Brasseur <[email protected]>
Install colordiff on CI

b2945f7ed46af66264d7cc48c64689ec7b7f6743 authored over 6 years ago by Arne Brasseur <[email protected]>
Implement a first version of output capturing

This is largely inspired by eftest's approach, but uses the testable to
communicate state to the...

66f9460ae7250bb0311459e67160303a058c1da9 authored over 6 years ago by Arne Brasseur <[email protected]>
Fix sporadic error in randomize plugin

The randomize plugin could cause an exception because the
sort-by-random-number-generator wasn't...

96abcee2c63ac2d7b72737f8b4cff5db27e49ace authored over 6 years ago by Arne Brasseur <[email protected]>
Update CHANGELOG, fix failing integration tests

Now that load errors produce warnings, we need to watch out for those in output.
Add the dev ali...

e7b6bdd831b7f57e4809c4bfe2ff42cded9e12b9 authored over 6 years ago by Arne Brasseur <[email protected]>
Make profiling plugin configurable

7b79fad92d52f7fa99f0b623a168df7449ebba46 authored over 6 years ago by Arne Brasseur <[email protected]>
Plugin writer affordance: warn when returning nil.

e27db62c05c79dc8606d3d4e91278c9ebf53daa8 authored over 6 years ago by Arne Brasseur <[email protected]>
Fix: return result from kaocha.api/run

876070c4e457b2b4a1a30cdc645e492775235614 authored over 6 years ago by Arne Brasseur <[email protected]>
Print warnings for load errors, only count as error when ran

Load errors generally should be addressed first, so we signal them early with a
warning, but if ...

995279975c43611c75aa166b78854432471d1d0a authored over 6 years ago by Arne Brasseur <[email protected]>
Ignore skipped tests when calculating averages for profiling

aade8dcbd9a397b97fa5ed0df0737a8328f1ac39 authored over 6 years ago by Arne Brasseur <[email protected]>
Retain unknown keys in #kaocha{} style config maps

When using #kaocha{} we rename a lot of keys from unqualified to qualified, but
any leftover key...

d25200ea12392d34ac8464266548162e9b95a6f7 authored over 6 years ago by Arne Brasseur <[email protected]>
When focusing from the CLI, ignore top-level config :focus

When specifying the --focus or --focus-meta command line arguments, ignore focus
calls at the to...

da64587743dc6689b0d88553657d306f9cf9a720 authored over 6 years ago by Arne Brasseur <[email protected]>
Run post-summary from kaocha.runner, not from kaocha.api

Post-summary is mostly intended for side effects, outputing extra stuff at the
end of the run (l...

8935d79609970e5b58089cd1f971832e9c6b4f2c authored over 6 years ago by Arne Brasseur <[email protected]>
Use documentation reporter on CI

3c85618509f8d476226273d587c21fa933381d5a authored over 6 years ago by Arne Brasseur <[email protected]>
Quick fix for CI failures

58c9395c9b8f6c6849fff2f80c2293c7150a6140 authored over 6 years ago by Arne Brasseur <[email protected]>
Quick fix for CI failures

05dbf96a55d633d447bc2b6994fd0bd2adf6afbc authored over 6 years ago by Arne Brasseur <[email protected]>
Expand the README.md

ced37b9048a409acd08d519a938e5b9b63efa182 authored over 6 years ago by Arne Brasseur <[email protected]>
Provide :kaocha.var/wrap, and correctly handle once-fixture-fn

Provide an official way to wrap test functions, which also makes it possible to
decide if you wa...

8eeff5b340292e71f15fc27a06de891bc0b0122a authored over 6 years ago by Arne Brasseur <[email protected]>
Stop loading plugins twice

b788576d4515f71232ca296b7dfe611a147b2eba authored over 6 years ago by Arne Brasseur <[email protected]>
Remove the default-desc for --reporter, it's no longer accurate

We'll bring back these default-desc things later on, based on the default
config (like it used t...

59d53271ba574daba97dd581ff81cf52c8259598 authored over 6 years ago by Arne Brasseur <[email protected]>
Changed the dots reporter to use [] for suites and () for nss

Use brackets/parens to show the start/end of a suite or ns. e.g.

[(...)(..FFEE.)][(.)]

88f85cf2dd364eda8380fa30066fca7453434f87 authored over 6 years ago by Arne Brasseur <[email protected]>
Prevent plugins from being loaded twice

It's easy to have a plugin already in tests.edn, and specify it again on the
command line. This ...

dd2ae05c7f15ea76814ece1ea8c75954bc6870a5 authored over 6 years ago by Arne Brasseur <[email protected]>
Make the profiling plugin a lot nicer

Print total time spent for each type, and make the amount of slow tests to show
configurable.

690b170c7df42e3e45d806d664459f53ead1e4d1 authored over 6 years ago by Arne Brasseur <[email protected]>
Filter out kaocha.type.* when finding the test file

We look for the top-most file in the stack trace, excluding certain patterns.
Now that we wrap t...

87ffcfb2e2263696d011519417aa21d39e8693cc authored over 6 years ago by Arne Brasseur <[email protected]>
Pass the test-plan to pre-test and post-test hooks

Thread the test-plan all through run-testables and into these hooks, so that
they have access to...

9a920204bcfafa460f7a7231af8559c5e357d960 authored over 6 years ago by Arne Brasseur <[email protected]>
Improve the print-invocations output

Wrap test id's in quotes, and don't re-print a --focus argument.

4620803f220c27030574ec0284daa4b4b5405f51 authored over 6 years ago by Arne Brasseur <[email protected]>
Provide defplugin macro

3319ed6f81612ce64cb1cf02bc46c4cdda999b33 authored over 6 years ago by Arne Brasseur <[email protected]>
README tweaks

bbd96a2a0f07d80decde01b0d3b7b331db7a55fa authored over 6 years ago by Arne Brasseur <[email protected]>
Make filtering work at the top level

The filter code treated the whole test plan as a testable, but ::testable/skip
is not honored at...

2b2a51c94ab4579bdbc062194caaa04b8c222715 authored over 6 years ago by Arne Brasseur <[email protected]>
Doc tweaks

f1f9dc8ac8fe4c05b57bc6a82f06966545d3f23b authored over 6 years ago by Arne Brasseur <[email protected]>
More README updates

b67e5af6f11d26b115ceaffce78bd0cb839a0303 authored over 6 years ago by Arne Brasseur <[email protected]>
Update README and CHANGELOG

Did a quick pass through the README so it's not completely different from the
current implementa...

cbf448c50d4c0a81308b9f2b36b8f35869442f9c authored over 6 years ago by Arne Brasseur <[email protected]>
Some small fixes, and some WIP/experiments

- don't run test-plan hook twice
- fix handling of cli-options in filter plugin
- add test case ...

3956bd978434f39bc2bb8250e7f96fa53d4ce009 authored over 6 years ago by Arne Brasseur <[email protected]>
Add support for clojure.test fixtures

03c419fd9e453448b8078e4f9f0be3b905d59e25 authored over 6 years ago by Arne Brasseur <[email protected]>
Handle exceptions outside `is`, try getting CircleCI to cooperate.

7d93c7d4170242cb8f2a4524c18ce1f2da968392 authored over 6 years ago by Arne Brasseur <[email protected]>
Fix CI

3ba18d49aad777f44c3fa3bdd5fb3da1c3ee412b authored over 6 years ago by Arne Brasseur <[email protected]>
Add a profiling plugin

This plugin times how long each test takes, and prints a summary at the end of
the slowest tests.

08c8d092a83105397fb9f96a65aef8fffd34d53a authored over 6 years ago by Arne Brasseur <[email protected]>
Add skip/focus flags and config keys

Make it possible to skip specicifc tests, or to run only specific tests, either
based on their i...

5cc8d32db7046950900a6ef783d9d983a81ec16c authored over 6 years ago by Arne Brasseur <[email protected]>
All tests green WE'RE BACK!

0cfe27f09b6fd8b4cc7f4769e0a8dd20b4f361e7 authored over 6 years ago by Arne Brasseur <[email protected]>
Add reporters automatically that are needed for correct functioning

559ff41757dbc0b1e0616cb4455511b8fdb97537 authored over 6 years ago by Arne Brasseur <[email protected]>
More work on reconciliating the new code with the existing functionality

- brought back the watcher
- added a #kaocha reader literal to easy configuration
- got rid of t...

9a6fa325921ca59f67cfccb9e3f1f987802da4bb authored over 6 years ago by Arne Brasseur <[email protected]>
Remove randomize CLI opts, they're plugin based now

3b9a5f2e6ae4ae12b83ee262d761c0a626eeb68b authored over 6 years ago by Arne Brasseur <[email protected]>
Bring back randomize, as a plugin

Start using the plugin stuff, neat!

9a8fd40fe36094757c2439a56448072c0b0b0f65 authored over 6 years ago by Arne Brasseur <[email protected]>
Apparently unit tests are still green, nice

e5ef08633497c8caa3d1627f58585e04dd8649e4 authored over 6 years ago by Arne Brasseur <[email protected]>
The API suite is green again

Figured out some of the weirder issues with stacktrace file/line detection, and
isolated tests t...

c3bf8eb5140277410aee15305a9ebc45e72a314f authored over 6 years ago by Arne Brasseur <[email protected]>
Switch over to new implementation

Start using kaocha.api as test runner implementation. This means a lot of stuff
will temporarily...

d19c79e2624266490213afc0996fa5dd4149d62d authored over 6 years ago by Arne Brasseur <[email protected]>
Implement testable/run for suites, plus sketch out api/run

Suite is running, nice! Now we "just" need the command line api wrapper around
it, and an ergono...

2f1d226e28310b64c6c9c9e91bac11db68fe30b3 authored over 6 years ago by Arne Brasseur <[email protected]>
Start work on kaocha.type/suite

Implement suite loading, and some sketching regarding keeping state for the
interrupt/ctrl-c sce...

a27a3c88d06eb81ab5806e54b1e4656aecc1b0f2 authored over 6 years ago by Arne Brasseur <[email protected]>
Load testable implementations lazily based on the type name.

This is convenient both for us (we don't need to require namespaces just for the
multimethods), ...

e24e26813e6bb834587bdf7c72a21ec8e0067b0e authored over 6 years ago by Arne Brasseur <[email protected]>
Add test for running ns

257583d9fccf7a216202884a81b670bb9ed6bd2e authored over 6 years ago by Arne Brasseur <[email protected]>
Wrap some things up so tests are green again

Also do the actual namespace loading in testable.ns.

022c3660c66f863f0eefb9aae1ca70659a9351a9 authored over 6 years ago by Arne Brasseur <[email protected]>
Pull kaocha.api into separate namespaces

This largely follows the pattern of namespace prefixes already used for
keys/specs. The testable...

38c54fe0cbf937c68a9bee9629f4fc6d6d69ed65 authored over 6 years ago by Arne Brasseur <[email protected]>
First bit of the reimplementation as kaocha.api

This is a second iteration on the recursive test runner I spiked earlier, this
time driven by sp...

80a771decdcfcfa31822f86e9e5b28fcbd30e698 authored over 6 years ago by Arne Brasseur <[email protected]>
Bump matcher-combinators version

4169fd2602befd2f9ab11a2b82569062253f81e2 authored over 6 years ago by Arne Brasseur <[email protected]>
Namespace keys in configuration

This is a non-backwards compatible change, all keys in configuration maps are
namespaced with :k...

e7f92198dfba6f0439fca9aa790e283f42addab0 authored over 6 years ago by Arne Brasseur <[email protected]>
Remove the kaocha namespace

We really only had it to provide a shorthand for namespaced keywords. Now that
we've dropped the...

531b98a5a2a8a8889e6ed95b61871e5b6e6ca3e8 authored over 6 years ago by Arne Brasseur <[email protected]>
Rename lambdaisand.kaocha.* to just kaocha.*

Drop the lambdaisland prefix from namespaces, this in preparation to introducing
specs.

e45eee489789c2052142f412e6584798f8543642 authored over 6 years ago by Arne Brasseur <[email protected]>
Implement file system watching

Use hawk to watch source-paths and test-paths for changes, reload the files, and
re-run tests. T...

58ef9b8335d111ca1eec045ed3bc5f75f0aff094 authored over 6 years ago by Arne Brasseur <[email protected]>
Use clojure instead of clj in integration tests

No rlwrap needed here

e5d20f6e8757aa5ee0a629060d7860421b009910 authored over 6 years ago by Arne Brasseur <[email protected]>
Add CircleCI

054e46aeb7f92546b21eafa61e56e6cece711b1d authored over 6 years ago by Arne Brasseur <[email protected]>
Implement random order and seeding

Shuffle namespaces and vars up based on a specific random seed. The seed can be
reused to recrea...

385e4607199e94a98ea844bf847fe970e9d6d3e1 authored over 6 years ago by Arne Brasseur <[email protected]>
Print test results and failure info when process is interrupted

When interrupting the process with Ctrl-C before the test run is complete,
finish with printing ...

e662cb4a807e64f0912b6e9ce089cac6080c6b3d authored over 6 years ago by Arne Brasseur <[email protected]>
Add a documentation reporter

Similar to rspec, list a hierarchical overview of all testing contexts.

This commit also change...

b5568cd5bb03fce814103cbdd35d169041239a5a authored over 6 years ago by Arne Brasseur <[email protected]>
Give error message when giving an invalid test suite name

7c395debbddbc3a9d05419a9a41f62158799d6b4 authored over 6 years ago by Arne Brasseur <[email protected]>
Implement a --fail-fast flag

Fail as soon as a test errors or fails, skip any remaining vars, nss, or suites.

60160d6ee7b3474e07fc98dc1d2adbb5fc9c943d authored over 6 years ago by Arne Brasseur <[email protected]>
Add support for cloverage, test cover config.clj

Provide support for calling -m cloverage.coverage with --runner
lambdaisland.kaocha.

3d2bbb251e674072663c82cec636d4350ca30fd9 authored over 6 years ago by Arne Brasseur <[email protected]>
Rework things to improve API usage

lambdaisland.kaocha.test/run-suites is now a well behaved entry point for API
usage. All normali...

8149847910efe7358f636b6a64ae682d4ce9c71e authored over 6 years ago by Arne Brasseur <[email protected]>
Add custom reporter

Extend the existing reporter mechanism with start/end test suite event types,
and provide focuse...

e5deef808ba5d7d8cf4726178971e17da95b6c3b authored over 6 years ago by Arne Brasseur <[email protected]>
Implement configuration cascade, per suite execution

Implement the main cascade from command line options to tests.edn to default
config.

Support pe...

b5cc686a257b0d59db591fbab3a95b33faf78adc authored over 6 years ago by Arne Brasseur <[email protected]>
Bootstrap by hard coding the runner logic

Main thing to figure out here was how to dynamically add stuff to the classpath,
since we want t...

fc99e21b8678cdde145663b6dbc30e46855cc697 authored over 6 years ago by Arne Brasseur <[email protected]>
Initial skeleton

723ff0e2ed7c63d8daf36ee39b6da57186d8686a authored over 6 years ago by Arne Brasseur <[email protected]>