2022-10-12

Published: Nov 01, 2022Last modified: Apr 05, 2023
Word count: 463

godot shaders performance increase

Godot shaders

what are all these? ( metroidvanias )

neil dep-upgrade-test: def vs let

using defs makes for a simple repl debug session, especially in test code

the expressions in the test cases can be called individually

in a let, you need to eval the whole thing - back to the 'batch mode' that jack

rusher was talking about in stop writing dead languages (strangeloop talk)

(ns babashka.neil.dep-upgrade-test
  (:require
   [babashka.neil.test-util :as test-util]
   [clojure.test :as t :refer [deftest is testing]]
   [clojure.edn :as edn]))

;; these defs make interactive eval simple below
(def test-file-path (str (test-util/test-file "deeps.edn")))
(defn get-dep-version [dep-name] (-> test-file-path slurp edn/read-string
                                        :deps (get dep-name) :mvn/version))

(deftest dep-upgrade-test
  (testing "a fresh project is up-to-date"
    (spit test-file-path "{}")
    (test-util/neil "dep add :lib clj-kondo/clj-kondo" :deps-file test-file-path)
    (let [clj-kondo-version-original (get-dep-version 'clj-kondo/clj-kondo)
          _                          (test-util/neil "dep upgrade" :deps-file test-file-path :dry-run true)
          clj-kondo-version-upgraded (get-dep-version 'clj-kondo/clj-kondo)]
      (is (= clj-kondo-version-original clj-kondo-version-upgraded))))

  (testing "an old dependency can be upgraded"
    (spit test-file-path "{}")
    (test-util/neil "dep add :lib clj-kondo/clj-kondo :version 2022.01.01" :deps-file test-file-path)
    (let [clj-kondo-version-original (get-dep-version 'clj-kondo/clj-kondo)
          _                          (test-util/neil "dep upgrade" :deps-file test-file-path :dry-run true)
          clj-kondo-version-upgraded (get-dep-version 'clj-kondo/clj-kondo)]
      (is (= clj-kondo-version-original clj-kondo-version-upgraded)))))