From 73115112c1f23775e3008b3a359b1d4fd77ae83b Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 3 Nov 2025 13:17:31 -0600 Subject: feat: Add comprehensive Makefile for testing and validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Makefile adapted from chime.el with targets for: Testing: - make test - Run all tests (unit + integration) - make test-unit - Run unit tests only - make test-integration - Run integration tests only - make test-file FILE= - Run specific test file - make test-name TEST= - Run tests matching pattern Validation: - make validate-parens - Check for unbalanced parentheses - make validate-modules - Load all modules to verify compilation - make compile - Byte-compile all modules - make lint - Run checkdoc, package-lint, elisp-lint Utilities: - make profile - Profile Emacs startup - make clean - Remove test artifacts and compiled files - make clean-compiled - Remove .elc/.eln files only - make clean-tests - Remove test artifacts only - make reset - Reset to first launch (destructive!) Default target is 'make help' which displays all available targets. Inline scripts from scripts/ directory: - delete-elisp-compiled-files.sh → make clean-compiled - profile-dotemacs.sh → make profile - reset-to-first-launch.sh → make reset Delete inlined scripts to reduce duplication. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- scripts/delete-elisp-compiled-files.sh | 7 ----- scripts/profile-dotemacs.sh | 20 -------------- scripts/reset-to-first-launch.sh | 48 ---------------------------------- 3 files changed, 75 deletions(-) delete mode 100755 scripts/delete-elisp-compiled-files.sh delete mode 100755 scripts/profile-dotemacs.sh delete mode 100755 scripts/reset-to-first-launch.sh (limited to 'scripts') diff --git a/scripts/delete-elisp-compiled-files.sh b/scripts/delete-elisp-compiled-files.sh deleted file mode 100755 index 5976c92b..00000000 --- a/scripts/delete-elisp-compiled-files.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -location=$HOME/.emacs.d/ - -echo "Deleting emacs lisp compiled files (.eln and .elc) from $location..." -find $location -type f \( -name "*.eln" -o -name "*.elc" \) -exec rm -f {} + -echo "Done." diff --git a/scripts/profile-dotemacs.sh b/scripts/profile-dotemacs.sh deleted file mode 100755 index b31d078b..00000000 --- a/scripts/profile-dotemacs.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -# profile-dotemacs.sh -# Craig Jennings -# a convenience script to load an emacs-lisp file which will -# startup emacs (with or without an early-init) and provide -# benchmark information on the Emacs config. - -EMACS_HOME="$HOME/.emacs.d/" -EARLY_INIT_FILE="$EMACS_HOME/early-init.el" -PROFILE_FILE="$EMACS_HOME/custom/profile-dotemacs.el" - -if [ -f "$EARLY_INIT_FILE" ] -then - emacs -Q --load $PROFILE_FILE --eval "(progn (load-file \"~/.emacs.d/early-init.el\") (profile-dotemacs))" -else - echo "No early init found. Proceeding to benchmark init.el." - emacs -Q --load $PROFILE_FILE --eval "(profile-dotemacs)" -fi - diff --git a/scripts/reset-to-first-launch.sh b/scripts/reset-to-first-launch.sh deleted file mode 100755 index 7bb15ba5..00000000 --- a/scripts/reset-to-first-launch.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# script for Emacs config testing -# - clears out all but necessary init/config files -# - removes native ad bytecode files. - -rm -rf ~/.cache/org-persist/ -rm -rf ~/.emacs.d/.cache/ -rm -rf ~/.emacs.d/.elfeed-db/ -rm -rf ~/.emacs.d/auto-save-list/ -rm -rf ~/.emacs.d/backups/ -rm -rf ~/.emacs.d/crossword/ -rm -rf ~/.emacs.d/dirvish/ -rm -rf ~/.emacs.d/eln-cache/ -rm -rf ~/.emacs.d/elpa/ -rm -rf ~/.emacs.d/emms/ -rm -rf ~/.emacs.d/emojis/ -rm -rf ~/.emacs.d/erc/ -rm -rf ~/.emacs.d/eshell/ -rm -rf ~/.emacs.d/multisession -rm -rf ~/.emacs.d/nov-places/ -rm -rf ~/.emacs.d/persist/ -rm -rf ~/.emacs.d/quelpa/ -rm -rf ~/.emacs.d/request/ -rm -rf ~/.emacs.d/tramp-auto-save/ -rm -rf ~/.emacs.d/transient/ -rm -rf ~/.emacs.d/tree-sitter/ -rm -rf ~/.emacs.d/url/ -rm -rf ~/.emacs.d/var -rm ~/.emacs.d/.elfeed-db -rm ~/.emacs.d/.emacs-history -rm ~/.emacs.d/.lsp-session* -rm ~/.emacs.d/.org-generic-id-locations -rm ~/.emacs.d/.org-id-locations -rm ~/.emacs.d/.pdf-view-restore -rm ~/.emacs.d/.scratch -rm ~/.emacs.d/forge-database.sqlite -rm ~/.emacs.d/history -rm ~/.emacs.d/nov-places -rm ~/.emacs.d/org-roam.db -rm ~/.emacs.d/pomm -rm ~/.emacs.d/projectile-bookmarks.eld -rm ~/.emacs.d/projects -rm ~/.emacs.d/recentf -rm ~/.emacs.d/tramp-connection-history -rm ~/sync/org/emacs-theme.persist - -find ~/.emacs.d -name "*.eln" -type f -delete -find ~/.emacs.d -name "*.elc" -type f -delete -- cgit v1.2.3