Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbokb-0003MF-Fz for pgadmin-hackers@arkaria.postgresql.org; Thu, 09 Feb 2017 13:27:05 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cboka-0001SA-Sj for pgadmin-hackers@arkaria.postgresql.org; Thu, 09 Feb 2017 13:27:04 +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 1cbokM-0001DZ-Nm for pgadmin-hackers@postgresql.org; Thu, 09 Feb 2017 13:26:51 +0000 Received: from mail-io0-x22d.google.com ([2607:f8b0:4001:c06::22d]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1cbokH-0006lD-Vg for pgadmin-hackers@postgresql.org; Thu, 09 Feb 2017 13:26:49 +0000 Received: by mail-io0-x22d.google.com with SMTP id j18so16465865ioe.2 for ; Thu, 09 Feb 2017 05:26:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=uUbYadNaj+n2v2L8x0E9mdlFUveC2uZDCRocz7xcTA0=; b=LpyWzOypZoDlULpCkWodEwJdCK3ZWMJWk1bF+eJG2DpylxyAtlQ6GH5fOEvx0ACrIz 6+sXhteyX2P+Z9bjQUuY3MHdc+n/o5NIv16cEKxyWX4lbQT7iwAga8Iq5KAxj0uDBZ65 ZUAGJo+VIHIICGjOqxIeMjPdr0ehDC5Uf/3Y7/sBjrVBIRJoPdEJim3Iw462RY4Jp9qd 4ItGbpIKKOE899LAqAYPzkRFQjN1AxmaEhgOj6hOQxf9qJpJ8FaWLCVbdujsIxNbVVjw TBEEZCh6r3jqsUlQ7V9YO+IlNR6AHwzB5WLKub1wefSWgJKYotz+HKDWbLiXTiRq+koL v+Cg== 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=uUbYadNaj+n2v2L8x0E9mdlFUveC2uZDCRocz7xcTA0=; b=JCCbsXJQ9Ro2UZzhOwDKOu45j0YXzuX4YUS/IaAiBKG55sG2tkNqQsMBjtWRT3Be6q c6NgMxDWSd77Mvi56fGst3CPn94gqv3/GHRb32y4lKPfp9wonfCP1PTEL1AWfk92sJ9f X4WR4iy0UpAzElpzMneBnOGeJN9Vrp5K5HV3W9JFEQlyd5YZKpZjtQOgH1MY012shPaD Rf/H7BWbi8myJEq+6z4U4uXpdPogIBbYyKAHAYVbYVElFnEsicOd+45SIwKdSqznWFiX v3PrvFgDDi/F6Tu2BHEw7lqpgEvwq1hO5iT2XnJ9Pef35vXLdjv+2fl7bVe/9ofG9j2P tIoA== X-Gm-Message-State: AMke39k57pPyrGsEhbIBCiFqxSaJmleyk8umWfAJkrjoMaSN4iY+YVIezAzWLCMhwnDYa4G4x2UkFidiPNhhUg== X-Received: by 10.107.53.17 with SMTP id c17mr2902776ioa.45.1486646804970; Thu, 09 Feb 2017 05:26:44 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.224.198 with HTTP; Thu, 9 Feb 2017 05:26:44 -0800 (PST) In-Reply-To: References: From: Dave Page Date: Thu, 9 Feb 2017 13:26:44 +0000 Message-ID: Subject: Re: Acceptance Tests against a browser (WIP) To: Atira Odhner Cc: George Gelashvili , pgadmin-hackers Content-Type: text/plain; charset=UTF-8 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 OK, well that one was sent back with feedback as well, so please resubmit when the relevant updates have been made to either and they've been retested. Given the amount of work you're doing at the moment, it would be helpful if you could note when one patch is dependent on another. It's hard to keep track when you're this productive! Thanks. On Thu, Feb 9, 2017 at 1:15 PM, Atira Odhner wrote: > create_table is the change we pulled into the other patch which would need > to be applied first. > > > On Thu, Feb 9, 2017, 7:47 AM Dave Page wrote: >> >> Hi >> >> I get the following crash when running with Python 3.4 or 3.5: >> >> (pgadmin4-py34) piranha:pgadmin4 dpage$ python web/regression/runtests.py >> pgAdmin 4 - Application Initialisation >> ====================================== >> >> >> The configuration database - '/Users/dpage/.pgadmin/test_pgadmin4.db' >> does not exist. >> Entering initial setup mode... >> NOTE: Configuring authentication for DESKTOP mode. >> >> The configuration database has been created at >> /Users/dpage/.pgadmin/test_pgadmin4.db >> >> =============Running the test cases for 'Regression - PG 9.4'============= >> runTest >> (pgadmin.acceptance.tests.connect_to_server_feature_test.ConnectsToServerFeatureTest) >> ... Traceback (most recent call last): >> File "web/regression/runtests.py", line 276, in >> verbosity=2).run(suite) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/runner.py", >> line 168, in run >> test(result) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/suite.py", >> line 84, in __call__ >> return self.run(*args, **kwds) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/suite.py", >> line 122, in run >> test(result) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/case.py", >> line 628, in __call__ >> return self.run(*args, **kwds) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/case.py", >> line 588, in run >> self._feedErrorsToResult(result, outcome.errors) >> File >> "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/case.py", >> line 515, in _feedErrorsToResult >> if issubclass(exc_info[0], self.failureException): >> TypeError: issubclass() arg 2 must be a class or tuple of classes >> >> With Python 2.7, it initially opens Chrome with the URL "data:," >> (without the quotes), and then spits out: >> >> ====================================================================== >> ERROR: runTest >> (pgadmin.acceptance.tests.connect_to_server_feature_test.ConnectsToServerFeatureTest) >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/acceptance/tests/connect_to_server_feature_test.py", >> line 41, in setUp >> test_utils.create_table(self.server, "acceptance_test_db", >> "test_table") >> AttributeError: 'module' object has no attribute 'create_table' >> >> ====================================================================== >> ERROR: runTest >> (pgadmin.acceptance.tests.template_selection_feature_test.TemplateSelectionFeatureTest) >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/acceptance/tests/template_selection_feature_test.py", >> line 36, in runTest >> test_utils.create_table(self.server, "acceptance_test_db", >> "test_table") >> AttributeError: 'module' object has no attribute 'create_table' >> >> ====================================================================== >> ERROR: runTest >> (pgadmin.acceptance.tests.template_selection_feature_test.TemplateSelectionFeatureTest) >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/acceptance/tests/template_selection_feature_test.py", >> line 66, in tearDown >> self.page.find_by_xpath("//button[contains(.,'Cancel')]").click() >> File "/Users/dpage/git/pgadmin4/web/regression/utils/pgadmin_page.py", >> line 46, in find_by_xpath >> return self.wait_for_element(lambda: >> self.driver.find_element_by_xpath(xpath)) >> File "/Users/dpage/git/pgadmin4/web/regression/utils/pgadmin_page.py", >> line 86, in wait_for_element >> return self._wait_for("element to exist", element_if_it_exists) >> File "/Users/dpage/git/pgadmin4/web/regression/utils/pgadmin_page.py", >> line 120, in _wait_for >> raise RuntimeError("timed out waiting for " + waiting_for_message) >> RuntimeError: timed out waiting for element to exist >> >> ---------------------------------------------------------------------- >> Ran 149 tests in 59.258s >> >> FAILED (errors=3, skipped=12) >> >> >> On Wed, Feb 8, 2017 at 10:15 PM, Atira Odhner wrote: >> > Hey Dave, >> > >> > We re-used one of the test helpers for the >> > 'fix-greenplum-show-tables.diff' >> > patch, so here is an updated patch which does not include adding that >> > test >> > helper in case you apply the show-tables patch first. Also, we saw some >> > strange test behavior yesterday where form fields weren't being filled >> > in >> > correctly so we changed the way that input fields get filled to be more >> > reliable. >> > >> > In short these need to be applied in this order: >> >> >> >> git apply fix-greenplum-show-tables.diff >> >> >> >> git apply >> >> acceptance-tests-minus-create-table-helper-with-fixed-inputs.diff >> > >> > >> > We also moved the --exclude flag changes out to a separate patch. >> > >> > On our side we are still dealing with these as 20 separate commits. What >> > is >> > the best way for us to send you these patches? Do you prefer having them >> > all >> > squashed down to a single patch or to have smaller patches? >> > >> > >> > >> > On Mon, Feb 6, 2017 at 9:54 AM, Atira Odhner wrote: >> >> >> >> I agree that we should rename the test. We've renamed it to >> >> "template_selection_feature_test". >> >> Your other suggestions are captured in our backlog as future >> >> improvements. >> >> We definitely can and should do those things but I think it would be >> >> valuable to go ahead and get this suite in and give other devs a chance >> >> to >> >> use and iterate on this work. >> >> >> >> Thanks, >> >> >> >> Tira & George >> >> >> >> On Mon, Feb 6, 2017 at 5:32 AM, Dave Page wrote: >> >>> >> >>> Hi >> >>> >> >>> On Fri, Feb 3, 2017 at 9:56 PM, Atira Odhner >> >>> wrote: >> >>> > Hi Dave, >> >>> > >> >>> > Here is a new patch which includes the following: >> >>> > - randomized ports >> >>> > - delete the acceptance_test_db database in setup in case a prior >> >>> > run >> >>> > failed >> >>> > - fixed size browser window >> >>> >> >>> Definitely getting there :-). A couple of thoughts/questions: >> >>> >> >>> - Now there are 2 tests in there, it's clear that both the Python >> >>> server and browser session are restarted for each test. Can this be >> >>> avoided? It'll really slow down test execution as more and more are >> >>> added. >> >>> >> >>> - We've got a new monster name: >> >>> >> >>> >> >>> pgadmin.acceptance.tests.sql_template_selection_by_postgres_version_works_feature_test.SQLTemplateSelectionByPostgresVersionWorksFeatureTest >> >>> (which on disk is >> >>> sql_template_select_by_postgres_version_works_feature_test.py). Names >> >>> like that really must be shortened to something more sane and >> >>> manageable. >> >>> >> >>> - I'm a little confused by why the tests cannot be run in server mode. >> >>> The error says it's because the username/password is unknown - >> >>> however, both the pgAdmin and database server usernames and passwords >> >>> are in test_config.json. >> >>> >> >>> Thanks! >> >>> >> >>> -- >> >>> 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 -- 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