浏览代码

fix: remove unused e2e-test namespace

workflow step and docs for tests deleted in #11903
Gabriel Horner 3 月之前
父节点
当前提交
f736895b1b
共有 7 个文件被更改,包括 4 次插入147 次删除
  1. 1 102
      .github/workflows/build.yml
  2. 0 1
      .gitignore
  3. 2 0
      clj-e2e/README.md
  4. 1 25
      docs/dev-practices.md
  5. 0 1
      package.json
  6. 0 2
      src/main/frontend/handler.cljs
  7. 0 16
      src/main/frontend/handler/test.cljs

+ 1 - 102
.github/workflows/build.yml

@@ -181,105 +181,4 @@ jobs:
         run: cd deps/db && yarn nbb-logseq script/export_graph.cljs ../../scripts/properties-graph -f properties.edn -T
 
       - name: Create graph from the export and diff the two graphs
-        run: cd deps/db && yarn nbb-logseq -cp src:../outliner/src:script script/create_graph.cljs ./properties-graph2 properties.edn -iv && yarn nbb-logseq script/diff_graphs.cljs ../../scripts/properties-graph ./properties-graph2 -T
-
-  e2e-test:
-    # TODO: Re-enable when ready to enable tests for file graphs
-    if: false
-    runs-on: ubuntu-22.04
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Set up Node
-        uses: actions/setup-node@v3
-        with:
-          node-version: ${{ env.NODE_VERSION }}
-          cache: 'yarn'
-          cache-dependency-path: |
-            yarn.lock
-            static/yarn.lock
-
-      - name: Set up Java
-        uses: actions/setup-java@v3
-        with:
-          distribution: 'zulu'
-          java-version: ${{ env.JAVA_VERSION }}
-
-      - name: Set up Clojure
-        uses: DeLaGuardo/[email protected]
-        with:
-          cli: ${{ env.CLOJURE_VERSION }}
-
-      - name: Clojure cache
-        uses: actions/cache@v3
-        id: clojure-deps
-        with:
-          path: |
-            ~/.m2/repository
-            ~/.gitlibs
-          key: ${{ runner.os }}-clojure-deps-${{ hashFiles('deps.edn') }}
-          restore-keys: ${{ runner.os }}-clojure-deps-
-
-      - name: Fetch Clojure deps
-        if: steps.clojure-deps.outputs.cache-hit != 'true'
-        run: clojure -A:cljs -P
-
-      - name: Shadow-cljs cache
-        uses: actions/cache@v3
-        with:
-          path: .shadow-cljs
-          # ensure update cache every time
-          key: ${{ runner.os }}-shadow-cljs-${{ github.sha }}
-          # will match most recent upload
-          restore-keys: |
-            ${{ runner.os }}-shadow-cljs-
-
-      - name: Fetch yarn deps
-        run: yarn install
-        env:
-          PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: true
-
-      # NOTE: require the app to be build in debug mode(compile instead of build).
-      - name: Prepare E2E test build
-        run: |
-          yarn gulp:build && clojure -M:cljs compile app publishing electron
-          (cd static && yarn install && yarn rebuild:all)
-
-      # Exits with 0 if yarn.lock is up to date or 1 if we forgot to update it
-      - name: Ensure static yarn.lock is up to date
-        run: git diff --exit-code static/yarn.lock
-
-      - name: Install Fluxbox
-        run: sudo apt-get update && sudo apt-get install -y fluxbox
-
-      # Emulate a virtual framebuffer on machines with no display hardware
-      - name: Run XVFB
-        run: Xvfb :1 -screen 0 1024x768x24 >/dev/null 2>&1 &
-
-      # Start a lightweight window manager to simulate window actions (maximize,restore etc)
-      - name: Start Fluxbox
-        run:  DISPLAY=:1.0 fluxbox >/dev/null 2>&1 &
-
-      - name: Run Playwright test - 1/2
-        run: DISPLAY=:1.0 npx playwright test --reporter github --shard=1/2
-        env:
-          LOGSEQ_CI: true
-          DEBUG: "pw:api"
-          RELEASE: true # skip dev only test
-
-      - name: Run Playwright test - 2/2
-        run: DISPLAY=:1.0 npx playwright test --reporter github --shard=2/2
-        env:
-          LOGSEQ_CI: true
-          DEBUG: "pw:api"
-          RELEASE: true # skip dev only test
-
-      - name: Save test artifacts
-        if: ${{ failure() }}
-        uses: actions/upload-artifact@v4
-        with:
-          name: e2e-test-report
-          path: e2e-dump/*
-          retention-days: 1
+        run: cd deps/db && yarn nbb-logseq -cp src:../outliner/src:script script/create_graph.cljs ./properties-graph2 properties.edn -iv && yarn nbb-logseq script/diff_graphs.cljs ../../scripts/properties-graph ./properties-graph2 -T

+ 0 - 1
.gitignore

@@ -1,4 +1,3 @@
-/e2e-dump
 /target
 /classes
 /checkouts

+ 2 - 0
clj-e2e/README.md

@@ -13,3 +13,5 @@ Then, run the project's tests:
     $ clojure -T:build test
 
 If you would like to run individual tests, pass options to the test runner through `clojure -M:test`. For example, add a `^:focus` on a test and then run `clojure -M:test -i focus`.
+
+If e2e tests fail, `clj-e2e/e2e-dump/` contains console logs and screenshots to help debug.

+ 1 - 25
docs/dev-practices.md

@@ -139,32 +139,8 @@ We have unit, performance and end to end tests.
 ### End to End Tests
 
 Even though we have a nightly release channel, it's hard for testing users (thanks to the brave users!) to notice all issues in a limited time, as Logseq is covering so many features.
-The only solution is automatic end-to-end tests - adding tests for GUI software is always painful but necessary. See https://github.com/logseq/logseq/pulls?q=E2E for e2e test examples.
 
-To run end to end tests
-
-```sh
-yarn electron-watch
-# in another shell
-yarn e2e-test # or npx playwright test
-```
-
-If e2e failed after first running:
-- `rm -rdf ~/.logseq`
-- `rm -rdf ~/.config/Logseq`
-- `rm -rdf <repo dir>/tmp/`
-- Windows: `rmdir /s %APPDATA%/Electron`  (Reference: https://www.electronjs.org/de/docs/latest/api/app#appgetpathname)
-
-There's a `traceAll()` helper function to enable playwright trace file dump for specific test files https://github.com/logseq/logseq/pull/8332
-
-If e2e tests fail in the file, they can be debugged by examining a trace dump with [the
-playwright trace
-viewer](https://playwright.dev/docs/trace-viewer#recording-a-trace).
-
-Locally this will get dumped into e2e-dump/.
-
-On CI the trace file will be under Artifacts at the bottom of a run page e.g.
-https://github.com/logseq/logseq/actions/runs/3574600322.
+To run end to end tests, see [clj-e2e tests](/clj-e2e/README.md).
 
 ### Unit Testing
 

+ 0 - 1
package.json

@@ -56,7 +56,6 @@
         "dev-electron-app": "gulp electron",
         "release-electron": "run-s gulp:build && gulp electronMaker",
         "debug-electron": "cd static/ && yarn electron:debug",
-        "e2e-test": "cross-env DEBUG=pw:api CI=true npx playwright test --reporter github",
         "sync-android-release": "yarn clean && yarn release-mobile && rm -rf ./static/mobile/**/*.map && npx cap sync android",
         "sync-ios-release": "yarn clean && yarn release-mobile && rm -rf ./static/mobile/**/*.map && npx cap sync ios",
         "clean": "gulp clean",

+ 0 - 2
src/main/frontend/handler.cljs

@@ -26,7 +26,6 @@
             [frontend.handler.plugin-config :as plugin-config-handler]
             [frontend.handler.repo :as repo-handler]
             [frontend.handler.repo-config :as repo-config-handler]
-            [frontend.handler.test :as test]
             [frontend.handler.ui :as ui-handler]
             [frontend.handler.user :as user-handler]
             [frontend.idb :as idb]
@@ -138,7 +137,6 @@
   [render]
 
   (idb/start)
-  (test/setup-test!)
   (get-system-info)
   (set-global-error-notification!)
 

+ 0 - 16
src/main/frontend/handler/test.cljs

@@ -1,16 +0,0 @@
-(ns frontend.handler.test
-  "Prepare for running e2e tests"
-  (:require [frontend.storage :as storage]
-            [frontend.state :as state]))
-
-(defn clear-whiteboard-storage-for-e2e-tests
-  []
-  (storage/set :whiteboard/onboarding-whiteboard? false)
-  (storage/set :whiteboard/onboarding-tour? false)
-  (state/set-state! :whiteboard/onboarding-whiteboard? false)
-  (state/set-state! :whiteboard/onboarding-tour? false)
-  (prn :debug :whiteboard/onboarding-whiteboard? (:whiteboard/onboarding-whiteboard? @state/state)))
-
-(defn setup-test!
-  []
-  (set! (.-clearWhiteboardStorage js/window) clear-whiteboard-storage-for-e2e-tests))