Michael Brown has posted comments on this change.

Change subject: IMPALA-3491: Use unique database fixture in test_ddl.py.
......................................................................


Patch Set 1:

(5 comments)

Eyes began to glaze over at last 10% of test_ddl.py. Here's some other comments 
for now.

http://gerrit.cloudera.org:8080/#/c/4155/1/testdata/workloads/functional-query/queries/QueryTest/alter-table.test
File testdata/workloads/functional-query/queries/QueryTest/alter-table.test:

PS1, Line 263: create external table t_part (i int) partitioned by (j int, s 
string)
             : location 
'$FILESYSTEM_PREFIX/test-warehouse/$DATABASE.db/t_part_tmp';
             : alter table t_part add partition (j=cast(2-1 as int), s='2012');
             : alter table t_part add if not exists partition (j=1, s='2012');
             : alter table t_part add if not exists partition (j=1, 
s='2012/withslash');
             : alter table t_part add partition (j=1, s=substring('foo2013bar', 
4, 8));
Will the test framework adequately fail the test if one of these reports an 
error? It matters here, because unlike in some cases below, there's no SELECT 
at the end of this to implicitly verify they all worked.


http://gerrit.cloudera.org:8080/#/c/4155/1/tests/metadata/test_ddl.py
File tests/metadata/test_ddl.py:

PS1, Line 234:     assert "ddl_test_db" not in self.all_db_names()
(I found this by searching for the removed members of TEST_DBS.)

  assert unique_database not in self.all_db_names()


PS1, Line 255:     unique_dabatase2 = unique_database + '2'
             :     self._create_db(unique_dabatase2, sync=True)
Clever, but it's unfortunate you have to do this. I'm not aware of pytest being 
able to use the same fixture twice (or more) in a test.

Should we parametrize unique_database optionally to return a set of databases 
instead of just one? It seems like it could use your incrementing numerical 
suffix scheme and be fine.


PS1, Line 328:     create_fn_stmt = "create function {0}.f() returns int "\
             :                      "location '{1}/libTestUdfs.so' 
symbol='NoArgs'"\
             :                      .format(unique_database, WAREHOUSE)
Tip for here and elsewhere: You can join strings across lines without \ if they 
are within parens.

    create_fn_stmt = ("create function {0}.f() returns int "
                      "location '{1}/libTestUdfs.so' symbol='NoArgs'"
                      .format(unique_database, WAREHOUSE))


http://gerrit.cloudera.org:8080/#/c/4155/1/tests/metadata/test_hms_integration.py
File tests/metadata/test_hms_integration.py:

Line 55:   def test_sanity(self, vector):
Not your changes, but in case you want to improve: This test doesn't have many 
asserts. I think it could be improved by replacing the self.client.execute() 
statements with self.execute_query_expect_success() statement. L70 for sure is 
never verified.


-- 
To view, visit http://gerrit.cloudera.org:8080/4155
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Idf667dd5e960768879c019e2037cf48ad4e4241b
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Alex Behm <[email protected]>
Gerrit-Reviewer: Michael Brown <[email protected]>
Gerrit-HasComments: Yes

Reply via email to