Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dFhVm-0006Mj-JI for pgadmin-hackers@arkaria.postgresql.org; Tue, 30 May 2017 13:48:38 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dFhVl-0004m8-Pw for pgadmin-hackers@arkaria.postgresql.org; Tue, 30 May 2017 13:48:37 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dFhVU-0004Mt-Vd for pgadmin-hackers@postgresql.org; Tue, 30 May 2017 13:48:21 +0000 Received: from mail-it0-x229.google.com ([2607:f8b0:4001:c0b::229]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dFhVP-0001dM-Tm for pgadmin-hackers@postgresql.org; Tue, 30 May 2017 13:48:19 +0000 Received: by mail-it0-x229.google.com with SMTP id r63so41650847itc.1 for ; Tue, 30 May 2017 06:48:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=56uYujvfkl1UdCoWz1Z8nLKRsrc55go1xmkgCUa42uI=; b=pcj597HMpVwl1TV9vX1+zApgg3ULzgp9o6Ia8+Q7o9+qiXD8TOlQ7SkBE0Aixl43Lg mY3vkwrETqDdFEw1ZkMt6s6URQEBoESSiGtkT/jM4fzaRnCWvY/wwiO6YQhE8LVH+GWn gsMtbH9zZzGY7QlQv1yf5sFZ27tMvAjAMhxZ+27EoO7Bl3TkUxPvjr+5fQfGbmMAAGI2 1SMAyDewj7VBsSfeSrs8nEM8ZDeKj1cMIEtVbNjF7uT27uFWpiG7HFEZ1BZOQcycMSOt qRJ+NJZg//ZGRMJRH9jxT5J/o5WLGRUvcIpCt9Dt/yeSlAe25olN/8OSTK8XepmRo/wc 7PiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=56uYujvfkl1UdCoWz1Z8nLKRsrc55go1xmkgCUa42uI=; b=JZk6UwpOoAGL2JqWjykThYWActRPXWNTD+3B0OP/2ivEEAj2F2MyBMsEbkdH98iZ60 xijSNvx4VOITSvObYRSk8U/NIhgnmvDvoTG0MhZU+nSJjNTMf0EikTj/CiQ4HKhb9Vz0 1cLdFHRhWq2oVvA/z16tGxO7oKy7iXHU3t3wyhXWYZSRNr0sbQlv2TVwBluu3QN+aZoC VrW9iP8sTwd8tTr7/fmKHdr0GEP3CIbyC9LSUz0JjIBpdJVPX3kZElbKjTg1UM0ts/mR 0Bq91CcEKrTYxv/koItjTmO0+jMUfvYFFHlHcDX6WhNzflv2LFtrYEJVAdUQYnDzUIk4 +L8w== X-Gm-Message-State: AODbwcB89UpmF/c67g3wZ6BArGDZGHHXdQP3Zy/X/iP1ohGnrbS2Y1rk ifINoHr3/LQVLFva2tMUqdYHHdtcJR7B X-Received: by 10.36.25.196 with SMTP id b187mr1965644itb.30.1496152093706; Tue, 30 May 2017 06:48:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.130.160 with HTTP; Tue, 30 May 2017 06:47:53 -0700 (PDT) In-Reply-To: References: From: Matthew Kleiman Date: Tue, 30 May 2017 09:47:53 -0400 Message-ID: Subject: Re: [pgAdmin4] [PATCH] History Tab rewrite in React To: Dave Page Cc: Joao Pedro De Almeida Pereira , Murtuza Zabuawala , pgadmin-hackers Content-Type: multipart/alternative; boundary="001a114459ec1389760550be0e4a" X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a114459ec1389760550be0e4a Content-Type: text/plain; charset="UTF-8" Hi Dave, We are currently using the Grunt taskrunner to run the following tasks: - lint the javascript code - start javascript tests - invoke webpack to transpile and bundle js and jsx files - minify javascript In order to remove Grunt from the application, we will need some other tool to execute these listed tasks. There are other tools available, like Gulp.js , that we could use instead of Grunt. We would like to understand your motivation for removing Grunt so we can find a better solution. Thanks, Joao & Matt On Sun, May 28, 2017 at 8:21 PM, Dave Page wrote: > Sorry guys - can you please remove the Grunt part of this until we've > decided whether or not we want to use it at all? (see the thread > discussing optimisation with Surinder). > > For now, let's just drop the required packages into the vendor > directory. I'm happy to have that populated by yarn to avoid having > vendor code in the tree moving forwards. > > On Fri, May 26, 2017 at 6:30 PM, George Gelashvili > wrote: > > okay > > > > We recreated the patches over new master. > > Please apply the patches attached after "feature test timeouts" is merged > > into master, as that should resolve "waiting for app to start" > > > > Thanks! > > George and Joao > > > > On Fri, May 26, 2017 at 4:39 PM, Dave Page wrote: > >> > >> Hi > >> > >> That fixed the JS tests, however, the feature tests are completely > >> broken now - the browser fails to load the app, so they just timeout: > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.connect_to_server_feature_test. > ConnectsToServerFeatureTest) > >> Test database connection > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.copy_selected_query_results_feature_test. > CopySelectedQueryResultsFeatureTest) > >> Test Copying Query Results > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.pg_datatype_validation_test. > PGDataypeFeatureTest) > >> Test checks for PG data-types output > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.query_tool_journey_test.QueryToolJourneyTest) > >> Tests the path through the query tool > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.table_ddl_feature_test.TableDdlFeatureTest) > >> Test table DDL generation > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.xss_checks_panels_and_query_tool_ > test.CheckForXssFeatureTest) > >> Test XSS check for panels and query tool > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.xss_checks_pgadmin_debugger_test. > CheckDebuggerForXssFeatureTest) > >> Tests to check if Debugger is vulnerable to XSS > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 36, in setUp > >> self.page.wait_for_app() > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 187, in wait_for_app > >> self._wait_for("app to start", page_shows_app) > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > pgadmin_page.py", > >> line 191, in _wait_for > >> "Timed out waiting for " + waiting_for_message) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/support/wait.py", > >> line 80, in until > >> raise TimeoutException(message, screen, stacktrace) > >> TimeoutException: Message: Timed out waiting for app to start > >> > >> > >> ---------------------------------------------------------------------- > >> Ran 166 tests in 113.200s > >> > >> FAILED (errors=7, skipped=16) > >> > >> =============Running the test cases for 'PostgreSQL 9.6'============= > >> runTest > >> (pgadmin.browser.server_groups.servers.databases. > casts.tests.test_cast_add.CastsAddTestCase) > >> Check Cast Node ... 2017-05-26 16:27:56,754: ERROR pgadmin: 'Mock' > >> object does not support item assignment > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_ > groups/servers/__init__.py", > >> line 774, in connect > >> server_types=ServerType.types() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/ > psycopg2/__init__.py", > >> line 309, in connect > >> os.environ['PGAPPNAME'] = '{0} - {1}'.format(config.APP_NAME, > conn_id) > >> TypeError: 'Mock' object does not support item assignment > >> FAIL > >> ERROR > >> runTest > >> (pgadmin.browser.server_groups.servers.databases. > casts.tests.test_cast_delete.CastsDeleteTestCase) > >> Check Cast Node ... 2017-05-26 16:27:56,840: ERROR pgadmin: 'Mock' > >> object does not support item assignment > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_ > groups/servers/__init__.py", > >> line 774, in connect > >> server_types=ServerType.types() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/ > psycopg2/__init__.py", > >> line 309, in connect > >> os.environ['PGAPPNAME'] = '{0} - {1}'.format(config.APP_NAME, > conn_id) > >> TypeError: 'Mock' object does not support item assignment > >> FAIL > >> ERROR > >> runTest > >> (pgadmin.browser.server_groups.servers.databases. > casts.tests.test_cast_get.CastsGetTestCase) > >> Check Cast Node ... Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_ > groups/servers/databases/casts/tests/utils.py", > >> line 51, in create_cast > >> " FUNCTION AS IMPLICIT" % (source_type, target_type)) > >> ProgrammingError: cast from type money to type bigint already exists > >> > >> 2017-05-26 16:27:56,960: ERROR pgadmin: 'Mock' object does not support > >> item assignment > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_ > groups/servers/__init__.py", > >> line 774, in connect > >> server_types=ServerType.types() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/ > psycopg2/__init__.py", > >> line 309, in connect > >> os.environ['PGAPPNAME'] = '{0} - {1}'.format(config.APP_NAME, > conn_id) > >> TypeError: 'Mock' object does not support item assignment > >> FAIL > >> ERROR > >> runTest > >> (pgadmin.browser.server_groups.servers.databases. > casts.tests.test_cast_put.CastsPutTestCase) > >> Check Cast Node ... 2017-05-26 16:27:57,060: ERROR pgadmin: 'Mock' > >> object does not support item assignment > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_ > groups/servers/__init__.py", > >> line 774, in connect > >> server_types=ServerType.types() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/ > psycopg2/__init__.py", > >> line 309, in connect > >> os.environ['PGAPPNAME'] = '{0} - {1}'.format(config.APP_NAME, > conn_id) > >> TypeError: 'Mock' object does not support item assignment > >> FAIL > >> ERROR > >> > >> On Wed, May 24, 2017 at 10:22 AM, Joao Pedro De Almeida Pereira > >> wrote: > >> > Hi Hackers! > >> > > >> > Please find attached the two patches, now including a new grunt task > to > >> > run > >> > the tests only once that can be used in CI. For development, use > grunt > >> > test, for ci or to run tests only once, use grunt test-ci. This is > >> > documented in the README file. > >> > > >> > Also note, these patches were generated using git diff as per > >> > https://www.pgadmin.org/docs/pgadmin4/dev/submitting_patches.html. > Sorry > >> > for > >> > any inconvenience from generating a patch in an alternate manner > >> > earlier. > >> > > >> > Thanks, > >> > Joao & Matt > >> > > >> > On Wed, May 24, 2017 at 9:36 AM, Matthew Kleiman > > >> > wrote: > >> >> > >> >> Hi Dave, > >> >> > >> >> This one is our bad! We didn't create a grunt task to run the tests > >> >> only > >> >> once, as you would in CI. grunt tests currently runs the tests and > >> >> continues > >> >> to watch for changes, running the tests again each time the source > code > >> >> is > >> >> modified. We will create a task that is suitable to run in CI. > >> >> > >> >> In the meantime, if you have any free time during the day today and > >> >> would > >> >> like to schedule a sync call with us, that would help us to tighten > the > >> >> feedback loop. > >> >> > >> >> Thanks, > >> >> Joao & Matt > >> >> > >> >> On Tue, May 23, 2017 at 4:44 PM, Dave Page > wrote: > >> >>> > >> >>> On Tue, May 23, 2017 at 12:12 PM, Joao Pedro De Almeida Pereira > >> >>> wrote: > >> >>> > Okay > >> >>> > > >> >>> > Can you try removing web/node_modules and web/yarn.lock, and > running > >> >>> > $ yarn install > >> >>> > $ grunt tests > >> >>> > > >> >>> > We think this might be due to a bad version of phantomjs-prebuilt. > >> >>> > > >> >>> > If that still fails, can you try running grunt as "yarn run grunt > >> >>> > tests"? > >> >>> > >> >>> I'm on a different machine now, and here grunt just seems to never > >> >>> exit when it's doing anything. For example, I ran this a few minutes > >> >>> ago, it finished in seconds and has been sitting here ever since: > >> >>> > >> >>> (pgadmin4)snake:web dpage$ grunt tests > >> >>> Running "eslint:target" (eslint) task > >> >>> > >> >>> Running "karma:unit" (karma) task > >> >>> > >> >>> webpack: Compiled successfully. > >> >>> webpack: Compiling... > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> webpack: wait until bundle finished: > >> >>> (node:4902) DeprecationWarning: loaderUtils.parseQuery() received a > >> >>> non-string value which can be problematic, see > >> >>> https://github.com/webpack/loader-utils/issues/56 > >> >>> parseQuery() will be replaced with getOptions() in the next major > >> >>> version of loader-utils. > >> >>> 23 05 2017 16:41:54.549:WARN [karma]: No captured browser, open > >> >>> http://localhost:9876/ > >> >>> > >> >>> webpack: Compiled successfully. > >> >>> PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 87 of 88 (skipped 1) > >> >>> SUCCESS (1.353 secs / 1.328 secs) > >> >>> > >> >>> I'm quite unimpressed with it so far :-( > >> >>> > >> >>> -- > >> >>> Dave Page > >> >>> Blog: http://pgsnake.blogspot.com > >> >>> Twitter: @pgsnake > >> >>> > >> >>> EnterpriseDB UK: http://www.enterprisedb.com > >> >>> The Enterprise PostgreSQL Company > >> >> > >> >> > >> > > >> > >> > >> > >> -- > >> Dave Page > >> Blog: http://pgsnake.blogspot.com > >> Twitter: @pgsnake > >> > >> EnterpriseDB UK: http://www.enterprisedb.com > >> The Enterprise PostgreSQL Company > >> > >> > >> -- > >> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > >> To make changes to your subscription: > >> http://www.postgresql.org/mailpref/pgadmin-hackers > > > > > > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a114459ec1389760550be0e4a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Dave,

We are currently using the Gru= nt taskrunner to run the following tasks:
  • lint the javasc= ript code=C2=A0
  • start javascript tests=C2=A0
  • invoke webpack= to transpile and bundle js and jsx files
  • minify javascript=C2=A0
In order to remove Grunt from the application, we will need so= me other tool to execute these listed tasks.

There are other tools available, like Gulp.= js, that we could use instead of Grunt. We would like to understand you= r motivation for removing Grunt so we can find a better solution.

Thanks,
Joao & Matt


On Sun, May 28, = 2017 at 8:21 PM, Dave Page <dpage@pgadmin.org> wrote:
Sorry guys - can you please remove the Grunt pa= rt of this until we've
decided whether or not we want to use it at all? (see the thread
discussing optimisation with Surinder).

For now, let's just drop the required packages into the vendor
directory. I'm happy to have that populated by yarn to avoid having
vendor code in the tree moving forwards.

On Fri, May 26, 2017 at 6:30 PM, George Gelashvili
<ggelashvili@pivotal.io>= ; wrote:
> okay
>
> We recreated the patches over new master.
> Please apply the patches attached after "feature test timeouts&qu= ot; is merged
> into master, as that should resolve "waiting for app to start&quo= t;
>
> Thanks!
> George and Joao
>
> On Fri, May 26, 2017 at 4:39 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> That fixed the JS tests, however, the feature tests are completely=
>> broken now - the browser fails to load the app, so they just timeo= ut:
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.connect_to_server_feature_test.ConnectsToServerFeatureTest)
>> Test database connection
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.copy_selected_query_results_featu= re_test.CopySelectedQueryResultsFeatureTest)
>> Test Copying Query Results
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.pg_datatype_validation_test.PGDat= aypeFeatureTest)
>> Test checks for PG data-types output
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.query_tool_journey_test.QueryTool= JourneyTest)
>> Tests the path through the query tool
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.table_ddl_feature_test.TableDdlFe= atureTest)
>> Test table DDL generation
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.xss_checks_panels_and_query_tool_= test.CheckForXssFeatureTest)
>> Test XSS check for panels and query tool
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
>> ERROR: runTest
>> (pgadmin.feature_tests.xss_checks_pgadmin_debugger_test.= CheckDebuggerForXssFeatureTest)
>> Tests to check if Debugger is vulnerable to XSS
>> ------------------------------------------------------------<= wbr>----------
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= base_feature_test.py",
>> line 36, in setUp
>>=C2=A0 =C2=A0 =C2=A0self.page.wait_for_app()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 187, in wait_for_app
>>=C2=A0 =C2=A0 =C2=A0self._wait_for("app to start", page_s= hows_app)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/= pgadmin_page.py",
>> line 191, in _wait_for
>>=C2=A0 =C2=A0 =C2=A0"Timed out waiting for " + waiting_fo= r_message)
>>=C2=A0 =C2=A0File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-<= wbr>packages/selenium/webdriver/support/wait.py",
>> line 80, in until
>>=C2=A0 =C2=A0 =C2=A0raise TimeoutException(message, screen, stacktr= ace)
>> TimeoutException: Message: Timed out waiting for app to start
>>
>>
>> ------------------------------------------------------------<= wbr>----------
>> Ran 166 tests in 113.200s
>>
>> FAILED (errors=3D7, skipped=3D16)
>>
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DRunning the test cases for = 'PostgreSQL 9.6'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> runTest
>> (pgadmin.browser.server_groups.servers.databases.casts.t= ests.test_cast_add.CastsAddTestCase)
>> Check Cast Node ... 2017-05-26 16:27:56,754: ERROR pgadmin: 'M= ock'
>> object does not support item assignment
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py",
>> line 774, in connect
>>=C2=A0 =C2=A0 =C2=A0server_types=3DServerType.types()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/__init__.py",
>> line 309, in connect
>>=C2=A0 =C2=A0 =C2=A0os.environ['PGAPPNAME'] =3D '{0} - = {1}'.format(config.APP_NAME, conn_id)
>> TypeError: 'Mock' object does not support item assignment<= br> >> FAIL
>> ERROR
>> runTest
>> (pgadmin.browser.server_groups.servers.databases.casts.t= ests.test_cast_delete.CastsDeleteTestCase)
>> Check Cast Node ... 2017-05-26 16:27:56,840: ERROR pgadmin: 'M= ock'
>> object does not support item assignment
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py",
>> line 774, in connect
>>=C2=A0 =C2=A0 =C2=A0server_types=3DServerType.types()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/__init__.py",
>> line 309, in connect
>>=C2=A0 =C2=A0 =C2=A0os.environ['PGAPPNAME'] =3D '{0} - = {1}'.format(config.APP_NAME, conn_id)
>> TypeError: 'Mock' object does not support item assignment<= br> >> FAIL
>> ERROR
>> runTest
>> (pgadmin.browser.server_groups.servers.databases.casts.t= ests.test_cast_get.CastsGetTestCase)
>> Check Cast Node ... Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py",
>> line 51, in create_cast
>>=C2=A0 =C2=A0 =C2=A0" FUNCTION AS IMPLICIT" % (source_typ= e, target_type))
>> ProgrammingError: cast from type money to type bigint already exis= ts
>>
>> 2017-05-26 16:27:56,960: ERROR pgadmin: 'Mock' object does= not support
>> item assignment
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py",
>> line 774, in connect
>>=C2=A0 =C2=A0 =C2=A0server_types=3DServerType.types()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/__init__.py",
>> line 309, in connect
>>=C2=A0 =C2=A0 =C2=A0os.environ['PGAPPNAME'] =3D '{0} - = {1}'.format(config.APP_NAME, conn_id)
>> TypeError: 'Mock' object does not support item assignment<= br> >> FAIL
>> ERROR
>> runTest
>> (pgadmin.browser.server_groups.servers.databases.casts.t= ests.test_cast_put.CastsPutTestCase)
>> Check Cast Node ... 2017-05-26 16:27:57,060: ERROR pgadmin: 'M= ock'
>> object does not support item assignment
>> Traceback (most recent call last):
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_groups/servers/__init__.py",
>> line 774, in connect
>>=C2=A0 =C2=A0 =C2=A0server_types=3DServerType.types()
>>=C2=A0 =C2=A0File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/__init__.py",
>> line 309, in connect
>>=C2=A0 =C2=A0 =C2=A0os.environ['PGAPPNAME'] =3D '{0} - = {1}'.format(config.APP_NAME, conn_id)
>> TypeError: 'Mock' object does not support item assignment<= br> >> FAIL
>> ERROR
>>
>> On Wed, May 24, 2017 at 10:22 AM, Joao Pedro De Almeida Pereira >> <jdealmeidapere= ira@pivotal.io> wrote:
>> > Hi Hackers!
>> >
>> > Please find attached the two patches, now including a new gru= nt task to
>> > run
>> > the tests only once that can be used in CI.=C2=A0 For develop= ment, use grunt
>> > test, for ci or to run tests only once, use grunt test-ci.=C2= =A0 This is
>> > documented in the README file.
>> >
>> > Also note, these patches were generated using git diff as per=
>> > https://www.pgadmin.o= rg/docs/pgadmin4/dev/submitting_patches.html. Sorry
>> > for
>> > any inconvenience from generating a patch in an alternate man= ner
>> > earlier.
>> >
>> > Thanks,
>> > Joao & Matt
>> >
>> > On Wed, May 24, 2017 at 9:36 AM, Matthew Kleiman <mkleiman@pivotal.io>
>> > wrote:
>> >>
>> >> Hi Dave,
>> >>
>> >> This one is our bad! We didn't create a grunt task to= run the tests
>> >> only
>> >> once, as you would in CI. grunt tests currently runs the = tests and
>> >> continues
>> >> to watch for changes, running the tests again each time t= he source code
>> >> is
>> >> modified. We will create a task that is suitable to run i= n CI.
>> >>
>> >> In the meantime, if you have any free time during the day= today and
>> >> would
>> >> like to schedule a sync call with us, that would help us = to tighten the
>> >> feedback loop.
>> >>
>> >> Thanks,
>> >> Joao & Matt
>> >>
>> >> On Tue, May 23, 2017 at 4:44 PM, Dave Page <dpage@pgadmin.org> wrote:
>> >>>
>> >>> On Tue, May 23, 2017 at 12:12 PM, Joao Pedro De Almei= da Pereira
>> >>> <j= dealmeidapereira@pivotal.io> wrote:
>> >>> > Okay
>> >>> >
>> >>> > Can you try removing web/node_modules and web/ya= rn.lock, and running
>> >>> > $ yarn install
>> >>> > $ grunt tests
>> >>> >
>> >>> > We think this might be due to a bad version of p= hantomjs-prebuilt.
>> >>> >
>> >>> > If that still fails, can you try running grunt a= s "yarn run grunt
>> >>> > tests"?
>> >>>
>> >>> I'm on a different machine now, and here grunt ju= st seems to never
>> >>> exit when it's doing anything. For example, I ran= this a few minutes
>> >>> ago, it finished in seconds and has been sitting here= ever since:
>> >>>
>> >>> (pgadmin4)snake:web dpage$ grunt tests
>> >>> Running "eslint:target" (eslint) task
>> >>>
>> >>> Running "karma:unit" (karma) task
>> >>>
>> >>> webpack: Compiled successfully.
>> >>> webpack: Compiling...
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> webpack: wait until bundle finished:
>> >>> (node:4902) DeprecationWarning: loaderUtils.parseQuer= y() received a
>> >>> non-string value which can be problematic, see
>> >>> https://github.com/webpack/loader-utils/issues/56
>> >>> parseQuery() will be replaced with getOptions() in th= e next major
>> >>> version of loader-utils.
>> >>> 23 05 2017 16:41:54.549:WARN [karma]: No captured bro= wser, open
>> >>> http://localhost:9876/
>> >>>
>> >>> webpack: Compiled successfully.
>> >>> PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 87 of 88 (= skipped 1)
>> >>> SUCCESS (1.353 secs / 1.328 secs)
>> >>>
>> >>> I'm quite unimpressed with it so far :-(
>> >>>
>> >>> --
>> >>> Dave Page
>> >>> Blog: http://pgsnake.blogspot.com
>> >>> Twitter: @pgsnake
>> >>>
>> >>> EnterpriseDB UK: http://www.enterprisedb.com >> >>> The Enterprise PostgreSQL Company
>> >>
>> >>
>> >
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>>
>> --
>> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/p= gadmin-hackers
>
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--001a114459ec1389760550be0e4a--