
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@arichiardi/humane-test-output
Advanced tools
#+STARTUP: hidestars showall
This library does two things: 1. Test output is pretty printed. 2. Equality assertions are also diffed.
Version 0.8.0 and later of humane-test-output requires Clojure 1.8.0 or later. ** IDEs This test output formatting works great with Emacs and cider 0.10 or lower, and when running Leiningen in a console. However, some IDEs are also bashing in their own versions of test formatting.
I do not recommend using this with cider 0.11.0 or greater or with Cursive,
or LightTable, or any other IDE.
** Clojure
To activate it you will need to call pjstadig.humane-test-output/activate!.
The preferred way to do this with Leiningen is to use an injection in
the :user profile in your ~/.lein/profiles.clj:
#+BEGIN_EXAMPLE {:user {:dependencies [[pjstadig/humane-test-output "0.8.3"]] :injections [(require 'pjstadig.humane-test-output) (pjstadig.humane-test-output/activate!)]}} #+END_EXAMPLE
If you are on a mixed team and some members need to disable humane test
output, they can define the INHUMANE_TEST_OUTPUT environment variable,
though again it's better for each user to enable it in their own
~/.lein/profiles.clj.
Once humane-test-output is activated, instead of this: #+BEGIN_EXAMPLE FAIL in (a-test) (humane_test_output_test.clj:7) FIXME, I fail. expected: (= {:foo :bar, :baz :quux, :something "a long string?", :another-key "and another value"} {:fo :bar, :baz :quux, :something "a long string?", :another-key "and another value"}) actual: (not (= {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux} {:another-key "and another value", :something "a long string?", :fo :bar, :baz :quux}))
FAIL in (a-test) (humane_test_output_test.clj:11) FIXME, I fail. expected: (= {:foo :bar, :baz :quux} {:foo :bar, :baz :quux} {:fo :bar, :baz :quux}) actual: (not (= {:foo :bar, :baz :quux} {:foo :bar, :baz :quux} {:fo :bar, :baz :quux})) FAIL in (a-test) (humane_test_output_test.clj:14)
FIXME, I fail. expected: (list? foo) actual: (not (list? {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux})) #+END_EXAMPLE
You get this: #+BEGIN_EXAMPLE FAIL in (a-test) (humane_test_output_test.clj:7) FIXME, I fail. expected: {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux} actual: {:fo :bar} diff: - {:baz :quux, :something "a long string?", :foo :bar, :another-key "and another value"} + {:fo :bar}
FAIL in (a-test) (humane_test_output_test.clj:10) FIXME, I fail. expected: {:foo :bar, :baz :quux} actual: {:fo :bar, :baz :quux} diff: - {:foo :bar} + {:fo :bar}
FAIL in (a-test) (humane_test_output_test.clj:13) FIXME, I fail. expected: (list? foo) actual: (not (list? {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux})) #+END_EXAMPLE
BONUS FEATURE
A test containing (is (= oops-i-only-gave-one-argument)) will throw an
exception.
** ClojureScript
It is not necessary to activate humane-test-output with ClojureScript, but
the behavior should be much the same as with Clojure.
** License
#+BEGIN_EXAMPLE
Copyright © Paul Stadig and Outpace Systems, Inc. All rights reserved.
Some small bits of code were taken from clojure.test and modified, and are Copyright © Rich Hickey. All rights reserved.
Distributed under the Eclipse Public License, the same as Clojure. #+END_EXAMPLE ** Acknowledgements I am grateful for design and implementation assistance from Bryce Covert.
Thanks to Miloslav Nenadál for the ClojureScript implementation.
FAQs
* Humane test output for clojure.test
The npm package @arichiardi/humane-test-output receives a total of 0 weekly downloads. As such, @arichiardi/humane-test-output popularity was classified as not popular.
We found that @arichiardi/humane-test-output demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.