Skip to content

Commit

Permalink
Meta: Lint for duplicate endpoint IDs
Browse files Browse the repository at this point in the history
We currently have 16 endpoints. The IDs are typed by a human at creation time.
This check will detect with we ever use an endpoint ID twice.

Since the large irrelevant directories are ignored, this should be quick enough.
  • Loading branch information
BenWiederhake authored and awesomekling committed Aug 15, 2020
1 parent 7a8c72d commit 8d680dd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ script:
- export SERENITY_ROOT="$(pwd)"
- Meta/lint-shell-scripts.sh
- Meta/lint-executable-resources.sh
- Meta/lint-ipc-ids.sh
- Meta/check-style.sh
- cd Toolchain
- TRY_USE_LOCAL_TOOLCHAIN=y ./BuildIt.sh
Expand Down
18 changes: 18 additions & 0 deletions Meta/lint-ipc-ids.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
set -e pipefail

script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd "$script_path/.."

ALL_ENDPOINTS=$(find \( -name Toolchain -o -name Build -o -name .git -o -name Ports \) -prune -o -name '*.ipc' -print0 | xargs -0 grep -P '^endpoint ' | sort -k4 -n)

BAD_ENDPOINTS=$(echo "${ALL_ENDPOINTS}" | cut -d' ' -f4 | uniq -d)

if [ -n "${BAD_ENDPOINTS}" ]
then
echo "This is the full list of all endpoints:"
echo "${ALL_ENDPOINTS}"
echo "These endpoint IDs are duplicated:"
echo "${BAD_ENDPOINTS}"
exit 1
fi

0 comments on commit 8d680dd

Please sign in to comment.