lispci / fiveam

Common Lisp regression testing framework
BSD 3-Clause "New" or "Revised" License
185 stars 31 forks source link

5am unable to find any tests under Alive (vs-code extension). #102

Open czaky opened 3 months ago

czaky commented 3 months ago

Summary

5am runner does not find any tests when run in the Alive (vs-code) environment. Any ideas or pointers where we should look to figure this out?

(This issue was also cross-posted to: https://github.com/nobody-famous/alive/issues/200 for visibility.)

Symptom

From Alive REPL:

> (asdf:test-system :puzzles/test)
 Didn't run anything...huh?

> (5am:run-all-tests)
 Didn't run anything...huh?

Crosscheck

This works with emacs and sbcl or from the command-line.

ros run --noinform --non-interactive -e "(require :asdf)" \
  -e "(progn (load \"puzzles.asd\") (uiop:quit (if (asdf:test-system :puzzles/test) 0 -1)))"

Running test suite PUZZLES
 Running test TWICE-LINEAR ...
 Did 3 checks.
    Pass: 3 (100%)
    Skip: 0 ( 0%)
    Fail: 0 ( 0%)

ASDF file for completness

(asdf:defsystem :puzzles
  :description "Puzzle Solutions."
  :licence "MIT"
  :serial t
  :components ((:file "math"))
  :in-order-to ((asdf:test-op (asdf:test-op :puzzles/test))))

(asdf:defsystem :puzzles/test
  :description "Puzzles test suite."
  :licence "MIT"
  :depends-on (:puzzles :fiveam)
  :components ((:file "test-math"))
  :perform (asdf:test-op (o c) (uiop:symbol-call :5am :run! :puzzles)))

Installation Steps

The installation follows the steps:

Roswell

There is no installer for roswell in the debian repository. The easiest way is to compile from scratch using git sources.

The script below uses sbcl-bin/2.4.2 in order to use the jupyter kernel.

# Create git installation directory.
cd
mkdir -p git
cd git
# Install prerequisites
sudo apt-get -y install git build-essential automake libcurl4-openssl-dev
git clone -b release https://github.com/roswell/roswell.git
cd roswell
sh bootstrap
./configure
make
sudo make install
# Install environment under $USER/roswell
ros setup
# Select a working SBCL.
ros install sbcl-bin/2.4.2
ros use sbcl-bin/2.4.2
# Add roswell to the PATH
echo 'export PATH=$PATH:~/.roswell/bin' >> ~/.bashrc

Alive

Install alive-lsp as a local quicklisp project.

cd ~/.roswell/lisp/quicklisp/local-projects
git clone https://github.com/nobody-famous/alive-lsp.git

Test the alive server using:

ros run --eval '(require :asdf)' --eval '(asdf:load-system :alive-lsp)' --eval '(alive/server:start)'

Add the proper alive start command into the settings.json:

{
  "alive.lsp.startCommand": [
    "ros",
    "run",
    "--eval",
    "(require :asdf)",
    "--eval",
    "(asdf:load-system :alive-lsp)",
    "--eval",
    "(alive/server:start)"
  ],
}