diff --git a/deps/db/src/logseq/db/common/sqlite.cljs b/deps/db/src/logseq/db/common/sqlite.cljs index 2461c67fb0..3c658ce3a9 100644 --- a/deps/db/src/logseq/db/common/sqlite.cljs +++ b/deps/db/src/logseq/db/common/sqlite.cljs @@ -4,6 +4,7 @@ [clojure.string :as string] [datascript.core :as d] [logseq.common.graph-dir :as graph-dir] + [logseq.common.path :as path] [logseq.db.sqlite.util :as sqlite-util])) (defn create-kvs-table! @@ -29,9 +30,9 @@ [graphs-dir db-name] (let [graph-dir-name (graph-dir/repo->encoded-graph-dir-name db-name) graph-dir (node-path/join graphs-dir graph-dir-name)] - [graph-dir-name (node-path/join graph-dir "db.sqlite")])) + [graph-dir-name (path/path-join graph-dir "db.sqlite")])) (defn get-db-backups-path [graphs-dir db-name] (let [graph-dir-name (graph-dir/repo->encoded-graph-dir-name db-name)] - (node-path/join graphs-dir graph-dir-name "backups"))) + (path/path-join graphs-dir graph-dir-name "backups"))) diff --git a/package.json b/package.json index c53c649449..d2d87d3b8d 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "cljs:release-app": "clojure -M:cljs release app db-worker db-worker-node", "cljs:release-publishing": "clojure -M:cljs release app publishing", "cljs:test": "clojure -M:test compile test", - "cljs:run-test": "LOGSEQ_STABLE_IDENTS=1 node static/tests.js -r '^(?!(?:logseq.db-sync.|logseq.cli.integration-test)).*' -e fix-me", + "cljs:run-test": "cross-env LOGSEQ_STABLE_IDENTS=1 node static/tests.js -r \"^(?!(?:logseq.db-sync.|logseq.cli.integration-test)).*\" -e fix-me", "cljs:run-integration-test": "node static/tests.js -r '^(logseq.cli.integration-test).*'", "cljs:test-no-worker": "clojure -M:test compile test-no-worker", "cljs:run-test-no-worker": "node static/tests-no-worker.js", diff --git a/src/main/logseq/cli/command/skill.cljs b/src/main/logseq/cli/command/skill.cljs index 6626a99e35..1dfaa49562 100644 --- a/src/main/logseq/cli/command/skill.cljs +++ b/src/main/logseq/cli/command/skill.cljs @@ -4,7 +4,8 @@ ["os" :as os] ["path" :as node-path] [clojure.string :as string] - [logseq.cli.command.core :as core])) + [logseq.cli.command.core :as core] + [logseq.common.path :as path])) (def ^:private skill-dir-name "logseq-cli") (def ^:private skill-file-name "SKILL.md") @@ -38,10 +39,10 @@ {:ok? false :error {:code :skill-home-dir-unavailable :message "home directory is unavailable; cannot resolve --global install target"}} - (let [dir (node-path/join base-dir ".agents" "skills" skill-dir-name)] + (let [dir (path/path-join base-dir ".agents" "skills" skill-dir-name)] {:ok? true :dir dir - :file (node-path/join dir skill-file-name)})))) + :file (path/path-join dir skill-file-name)})))) (defn resolve-skill-source-path [candidates] diff --git a/src/test/frontend/worker/db_worker_node_test.cljs b/src/test/frontend/worker/db_worker_node_test.cljs index 6bed615c6e..a8dd587664 100644 --- a/src/test/frontend/worker/db_worker_node_test.cljs +++ b/src/test/frontend/worker/db_worker_node_test.cljs @@ -160,18 +160,20 @@ (deftest db-worker-node-data-dir-permission-error (async done - (let [data-dir (node-helper/create-tmp-dir "db-worker-readonly") - repo (str "logseq_db_perm_" (subs (str (random-uuid)) 0 8))] - (fs/chmodSync data-dir 365) - (-> (start-daemon! {:data-dir data-dir - :repo repo}) - (p/then (fn [_] - (is false "expected data-dir permission error"))) - (p/catch (fn [e] - (let [data (ex-data e)] - (is (= :data-dir-permission (:code data))) - (is (= (node-path/resolve data-dir) (:path data)))))) - (p/finally (fn [] (done))))))) + (if (= "win32" (.-platform js/process)) + (done) + (let [data-dir (node-helper/create-tmp-dir "db-worker-readonly") + repo (str "logseq_db_perm_" (subs (str (random-uuid)) 0 8))] + (fs/chmodSync data-dir 365) + (-> (start-daemon! {:data-dir data-dir + :repo repo}) + (p/then (fn [_] + (is false "expected data-dir permission error"))) + (p/catch (fn [e] + (let [data (ex-data e)] + (is (= :data-dir-permission (:code data))) + (is (= (node-path/resolve data-dir) (:path data)))))) + (p/finally (fn [] (done)))))))) (deftest db-worker-node-creates-log-file (async done diff --git a/src/test/logseq/cli/command/skill_test.cljs b/src/test/logseq/cli/command/skill_test.cljs index 3cae4c44c6..950db74bb6 100644 --- a/src/test/logseq/cli/command/skill_test.cljs +++ b/src/test/logseq/cli/command/skill_test.cljs @@ -4,7 +4,8 @@ ["path" :as node-path] [cljs.test :refer [deftest is testing]] [clojure.string :as string] - [logseq.cli.command.skill :as skill-command])) + [logseq.cli.command.skill :as skill-command] + [logseq.common.path :as path])) (deftest test-skill-command-entries (let [entries skill-command/entries @@ -142,7 +143,7 @@ (deftest test-execute-skill-install-global-prefers-home-env (let [tmp-root (.mkdtempSync fs (node-path/join (.tmpdir os) "logseq-skill-home-")) source-path (node-path/join tmp-root "source-skill.md") - installed-file (node-path/join tmp-root ".agents" "skills" "logseq-cli" "SKILL.md") + installed-file (path/path-join tmp-root ".agents" "skills" "logseq-cli" "SKILL.md") previous-home (.. js/process -env -HOME)] (try (fs/writeFileSync source-path "# installed\ncontent" "utf8") diff --git a/src/test/logseq/cli/command/sync_test.cljs b/src/test/logseq/cli/command/sync_test.cljs index 38d9b9126f..95134433bc 100644 --- a/src/test/logseq/cli/command/sync_test.cljs +++ b/src/test/logseq/cli/command/sync_test.cljs @@ -952,7 +952,8 @@ :repo "logseq_db_demo" :graph "demo" :e2ee-password "pw"} - {:data-dir "/tmp" + {:base-url "http://example" + :data-dir "/tmp" :refresh-token "refresh-token"})] (is (= :error (:status result))) (is (= :graph-db-not-empty (get-in result [:error :code]))) diff --git a/src/test/logseq/cli/data_dir_test.cljs b/src/test/logseq/cli/data_dir_test.cljs index e17b5c3298..ea76e47785 100644 --- a/src/test/logseq/cli/data_dir_test.cljs +++ b/src/test/logseq/cli/data_dir_test.cljs @@ -31,15 +31,16 @@ (deftest ensure-data-dir-rejects-read-only-dir (testing "rejects directories without write permission" - (let [target (node-helper/create-tmp-dir "data-dir-readonly")] - (fs/chmodSync target 365) - (try - (data-dir/ensure-data-dir! target) - (is false "expected data-dir permission error") - (catch :default e - (let [data (ex-data e)] - (is (= :data-dir-permission (:code data))) - (is (= (node-path/resolve target) (:path data))))))))) + (when-not (= "win32" (.-platform js/process)) + (let [target (node-helper/create-tmp-dir "data-dir-readonly")] + (fs/chmodSync target 365) + (try + (data-dir/ensure-data-dir! target) + (is false "expected data-dir permission error") + (catch :default e + (let [data (ex-data e)] + (is (= :data-dir-permission (:code data))) + (is (= (node-path/resolve target) (:path data)))))))))) (deftest normalize-data-dir-default (testing "defaults to ~/logseq/graphs"