You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ti...@apache.org on 2018/11/15 20:26:39 UTC

[incubator-superset] branch master updated: Split cypress tests (#6241)

This is an automated email from the ASF dual-hosted git repository.

timi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new c17de39  Split cypress tests (#6241)
c17de39 is described below

commit c17de3940cd57c30c5518718433ccd27ba9b0c66
Author: timifasubaa <30...@users.noreply.github.com>
AuthorDate: Thu Nov 15 12:26:33 2018 -0800

    Split cypress tests (#6241)
    
    * aplit cypress tests
    
    * split into three
---
 .travis.yml                      | 28 +++++++++++++++++++++++++++-
 cypress.json                     |  0
 superset/assets/cypress.json     |  2 ++
 superset/assets/cypress_build.sh | 18 +++++++++---------
 tox.ini                          | 30 +++++++++++++++++++++++++++---
 5 files changed, 65 insertions(+), 13 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 247f9e4..cb7164d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,33 @@ jobs:
   include:
     - language: python
       python: 3.6
-      env: TOXENV=cypress
+      env: TOXENV=cypress-dashboard
+      cache:
+        pip: true
+        yarn: true
+        directories:
+          - ~/.npm
+          - ~/.cache
+      services:
+        - redis-server
+      before_install:
+        - nvm install 8.9
+    - language: python
+      python: 3.6
+      env: TOXENV=cypress-explore
+      cache:
+        pip: true
+        yarn: true
+        directories:
+          - ~/.npm
+          - ~/.cache
+      services:
+        - redis-server
+      before_install:
+        - nvm install 8.9
+    - language: python
+      python: 3.6
+      env: TOXENV=cypress-sqllab
       cache:
         pip: true
         yarn: true
diff --git a/cypress.json b/cypress.json
new file mode 100644
index 0000000..e69de29
diff --git a/superset/assets/cypress.json b/superset/assets/cypress.json
index 872283c..58ae32f 100644
--- a/superset/assets/cypress.json
+++ b/superset/assets/cypress.json
@@ -1,8 +1,10 @@
 {
   "baseUrl": "http://localhost:8081",
   "videoUploadOnPasses": false,
+  "video": false,
   "ignoreTestFiles": ["**/!(*.test.js)"],
   "projectId": "fbf96q",
+  "defaultCommandTimeout": 10000,
   "viewportWidth": 1280,
   "viewportHeight": 800
 }
diff --git a/superset/assets/cypress_build.sh b/superset/assets/cypress_build.sh
index 9e72e9f..6925400 100755
--- a/superset/assets/cypress_build.sh
+++ b/superset/assets/cypress_build.sh
@@ -1,15 +1,15 @@
 #!/bin/bash
 set -e
 
-superset/bin/superset db upgrade
-superset/bin/superset load_test_users
-superset/bin/superset load_examples
-superset/bin/superset init
-flask run -p 8081 --with-threads --reload --debugger &
-
 cd "$(dirname "$0")"
 
-yarn install --frozen-lockfile
-npm run build
-npm run cypress run
+#run all the python steps in a background process
+(time /home/travis/build/apache/incubator-superset/superset/bin/superset db upgrade; time /home/travis/build/apache/incubator-superset/superset/bin/superset load_test_users; /home/travis/build/apache/incubator-superset/superset/bin/superset load_examples; time /home/travis/build/apache/incubator-superset/superset/bin/superset init; echo "[completed python build steps]"; flask run -p 8081 --with-threads --reload --debugger) &
+
+#block on the longer running javascript process
+(time yarn install --frozen-lockfile; time npm run build; echo "[completed js build steps]")
+
+CYPRESS_PATH='cypress/integration/'${1}'/*'
+time npm run cypress run -- --spec "$CYPRESS_PATH" --record false --config video=false
+
 kill %1
diff --git a/tox.ini b/tox.ini
index 53949a3..5014168 100644
--- a/tox.ini
+++ b/tox.ini
@@ -45,9 +45,31 @@ setenv =
 whitelist_externals =
     npm
 
-[testenv:cypress]
+[testenv:cypress-dashboard]
 commands =
-    {toxinidir}/superset/assets/cypress_build.sh
+    {toxinidir}/superset/assets/cypress_build.sh dashboard
+setenv =
+    PYTHONPATH = {toxinidir}
+    SUPERSET_CONFIG = tests.superset_test_config
+    SUPERSET_HOME = {envtmpdir}
+deps =
+    -rrequirements.txt
+    -rrequirements-dev.txt
+
+[testenv:cypress-explore]
+commands =
+    {toxinidir}/superset/assets/cypress_build.sh explore
+setenv =
+    PYTHONPATH = {toxinidir}
+    SUPERSET_CONFIG = tests.superset_test_config
+    SUPERSET_HOME = {envtmpdir}
+deps =
+    -rrequirements.txt
+    -rrequirements-dev.txt
+
+[testenv:cypress-sqllab]
+commands =
+    {toxinidir}/superset/assets/cypress_build.sh sqllab
 setenv =
     PYTHONPATH = {toxinidir}
     SUPERSET_CONFIG = tests.superset_test_config
@@ -83,7 +105,9 @@ deps =
 
 [tox]
 envlist =
-    cypress
+    cypress-dashboard
+    cypress-explore
+    cypress-sqllab
     eslint
     flake8
     javascript