mirror of
https://github.com/status-im/sourcecred.git
synced 2025-01-11 05:06:57 +00:00
14eee06799
As SourceCred has evolved, we've grown more and more snapshot tests that are not included in Jest. The GitHub plugin has two ad-hoc snapshot tests, the Git plugin has one, and the sharness test suites have one. This makes it difficult to keep track of where to update snapshots when core changes are made. To fix this, I've added a script, `scripts/update_snapshots.sh`, which updates snapshot tests across the project. Test plan: I removed existing snapshots across the codebase, ran the snapshot tester, and they correctly regenerated.
63 lines
1.9 KiB
Bash
Executable File
63 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Disable these lint rules globally:
|
|
# 2034 = unused variable (used by sharness)
|
|
# 2016 = parameter expansion in single quotes
|
|
# 1004 = backslash-newline in single quotes
|
|
# shellcheck disable=SC2034,SC2016,SC1004
|
|
:
|
|
|
|
# If this test is failing, it probably means you need to update snapshots.
|
|
# You can do so by setting your SOURCECRED_GITHUB_TOKEN (see README) and then
|
|
# running scripts/update_snapshots.sh.
|
|
|
|
test_description='test snapshot integrity for sourcecred load'
|
|
|
|
export GIT_CONFIG_NOSYSTEM=1
|
|
export GIT_ATTR_NOSYSTEM=1
|
|
|
|
# shellcheck disable=SC1091
|
|
. ./sharness.sh
|
|
|
|
test_expect_success "environment and Node linking setup" '
|
|
toplevel="$(git -C "$(dirname "$0")" rev-parse --show-toplevel)" &&
|
|
snapshot_directory="${toplevel}/sharness/__snapshots__/example-github-load" &&
|
|
if [ -z "${SOURCECRED_BIN}" ]; then
|
|
printf >&2 "warn: missing environment variable SOURCECRED_BIN\n" &&
|
|
printf >&2 "warn: using repository bin directory as fallback\n" &&
|
|
export SOURCECRED_BIN="${toplevel}/bin"
|
|
fi &&
|
|
export NODE_PATH="${toplevel}/node_modules${NODE_PATH:+:${NODE_PATH}}" &&
|
|
test_set_prereq SETUP
|
|
'
|
|
|
|
if [ -n "${SOURCECRED_GITHUB_TOKEN:-}" ]; then
|
|
test_set_prereq HAVE_GITHUB_TOKEN
|
|
fi
|
|
|
|
test_expect_success EXPENSIVE,SETUP,HAVE_GITHUB_TOKEN \
|
|
"should load sourcecred/example-github" '
|
|
SOURCECRED_DIRECTORY=. node "${SOURCECRED_BIN}/sourcecred.js" \
|
|
load sourcecred/example-github &&
|
|
rm -rf cache &&
|
|
test_set_prereq LOADED_GITHUB
|
|
'
|
|
|
|
if [ -n "${UPDATE_SNAPSHOT}" ]; then
|
|
test_set_prereq UPDATE_SNAPSHOT
|
|
fi
|
|
|
|
test_expect_success LOADED_GITHUB,UPDATE_SNAPSHOT \
|
|
"should update the snapshot" '
|
|
rm -rf "$snapshot_directory" &&
|
|
cp -r . "$snapshot_directory"
|
|
'
|
|
|
|
test_expect_success LOADED_GITHUB "should be identical to the snapshot" '
|
|
diff -qr . "$snapshot_directory"
|
|
'
|
|
|
|
test_done
|
|
|
|
# vim: ft=sh
|