Changeset: 3bc8f8c4238f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3bc8f8c4238f
Modified Files:
        sql/test/emptydb/Tests/check.SQL.py
Branch: userprofile
Log Message:

Make running check script outside of testing easier.


diffs (72 lines):

diff --git a/sql/test/emptydb/Tests/check.SQL.py 
b/sql/test/emptydb/Tests/check.SQL.py
--- a/sql/test/emptydb/Tests/check.SQL.py
+++ b/sql/test/emptydb/Tests/check.SQL.py
@@ -4,6 +4,40 @@ try:
 except ImportError:
     import process
 
+port = None
+dbname = os.getenv('TSTDB', 'demo')
+host = None
+user = 'monetdb'
+passwd = 'monetdb'
+approve = None
+check = None
+if __name__ == '__main__':
+    import argparse
+    parser = argparse.ArgumentParser(description='Run check queries on a 
database')
+    parser.add_argument('--host', action='store', default=host,
+                        help='hostname where the server runs')
+    parser.add_argument('--port', action='store', type=int, default=port,
+                        help='port the server listens on')
+    parser.add_argument('--database', action='store', default=dbname,
+                        help='name of the database')
+    parser.add_argument('--user', action='store', default=user,
+                        help='user name to login to the database with')
+    parser.add_argument('--password', action='store', default=passwd,
+                        help='password to use to login to the database with')
+    parser.add_argument('--approve', action='store', default=approve,
+                        type=argparse.FileType('w'),
+                        help='file in which to produce a new .test file '
+                        'with updated results')
+    parser.add_argument('check', nargs='*', help='name of test')
+    opts = parser.parse_args()
+    port = opts.port
+    dbname = opts.database
+    host = opts.host
+    user = opts.user
+    passwd = opts.password
+    approve = opts.approve
+    check = opts.check
+
 xit = 0
 output = []
 
@@ -516,7 +550,8 @@ for table, column in sys_notnull:
 output.append(out)
 
 with process.client('sql', interactive=True, echo=False, format='test',
-                     stdin=process.PIPE, stdout=process.PIPE, 
stderr=process.PIPE) as clt:
+                    host=host, port=port, dbname=dbname, user=user, 
passwd=passwd,
+                    stdin=process.PIPE, stdout=process.PIPE, 
stderr=process.PIPE) as clt:
 
     out, err = clt.communicate(out)
 
@@ -525,7 +560,7 @@ with process.client('sql', interactive=T
     if err:
         xit = 1
 
-if len(sys.argv) == 2 and sys.argv[1] == 'check':
+if check:
     output = ''.join(output).splitlines(keepends=True)
     stableout = 'check.stable.out.32bit' if os.getenv('TST_BITS', '') == 
'32bit' else 'check.stable.out.int128' if os.getenv('HAVE_HGE') else 
'check.stable.out'
     stable = open(stableout).readlines()
@@ -533,6 +568,8 @@ if len(sys.argv) == 2 and sys.argv[1] ==
     for line in difflib.unified_diff(stable, output, fromfile='test', 
tofile=stableout):
         sys.stderr.write(line)
         xit = 1
+elif approve:
+    approve.writelines(output)
 else:
     sys.stdout.writelines(output)
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to