summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/test-all2
-rwxr-xr-xtest/test-suite1705
2 files changed, 892 insertions, 815 deletions
diff --git a/test/test-all b/test/test-all
index 94d1f5a..d3dcb02 100755
--- a/test/test-all
+++ b/test/test-all
@@ -9,6 +9,6 @@ trap return_to_original_folder EXIT
pushd $(dirname $0)/
-./test-suite
+./test-suite "$@"
set +e
diff --git a/test/test-suite b/test/test-suite
index b5c0595..e17afcd 100755
--- a/test/test-suite
+++ b/test/test-suite
@@ -20,6 +20,9 @@ import time
from tempfile import NamedTemporaryFile
import locale
import pprint
+import six
+from six.moves import range
+import codecs
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])),'..','bin'))
from qtextasdata import QTextAsData,QOutput,QOutputPrinter,QInputParams
@@ -28,24 +31,37 @@ from qtextasdata import QTextAsData,QOutput,QOutputPrinter,QInputParams
# make sure that the output is correctly encoded
SYSTEM_ENCODING = locale.getpreferredencoding()
+
+DEBUG = False
+if len(sys.argv) > 2 and sys.argv[2] == '-v':
+ DEBUG = True
+
def run_command(cmd_to_run):
+ global DEBUG
+ if DEBUG:
+ print("CMD: {}".format(cmd_to_run))
+
p = Popen(cmd_to_run, stdout=PIPE, stderr=PIPE, shell=True)
o, e = p.communicate()
# remove last newline
o = o.rstrip()
e = e.strip()
# split rows
- if o != '':
- o = o.split(os.linesep)
+ if o != six.b(''):
+ o = o.split(six.b(os.linesep))
else:
o = []
- if e != '':
- e = e.split(os.linesep)
+ if e != six.b(''):
+ e = e.split(six.b(os.linesep))
else:
e = []
- return (p.returncode, o, e)
-uneven_ls_output = """drwxr-xr-x 2 root root 4096 Jun 11 2012 /selinux
+ res = (p.returncode, o, e)
+ if DEBUG:
+ print("RESULT:{}".format(res))
+ return res
+
+uneven_ls_output = six.b("""drwxr-xr-x 2 root root 4096 Jun 11 2012 /selinux
drwxr-xr-x 2 root root 4096 Apr 19 2013 /mnt
drwxr-xr-x 2 root root 4096 Apr 24 2013 /srv
drwx------ 2 root root 16384 Jun 21 2013 /lost+found
@@ -54,9 +70,9 @@ drwxr-xr-x 2 root root 4096 Jun 21 2013 /cdrom
drwxr-xr-x 3 root root 4096 Jun 21 2013 /home
lrwxrwxrwx 1 root root 29 Jun 21 2013 /vmlinuz -> boot/vmlinuz-3.8.0-19-generic
lrwxrwxrwx 1 root root 32 Jun 21 2013 /initrd.img -> boot/initrd.img-3.8.0-19-generic
-"""
+""")
-find_output = """8257537 32 drwxrwxrwt 218 root root 28672 Mar 1 11:00 /tmp
+find_output = six.b("""8257537 32 drwxrwxrwt 218 root root 28672 Mar 1 11:00 /tmp
8299123 4 drwxrwxr-x 2 harel harel 4096 Feb 27 10:06 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/stormdist/testTopology3fad644a-54c0-4def-b19e-77ca97941595-1-1393513576
8263229 964 -rw-rw-r-- 1 mapred mapred 984569 Feb 27 10:06 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/stormdist/testTopology3fad644a-54c0-4def-b19e-77ca97941595-1-1393513576/stormcode.ser
8263230 4 -rw-rw-r-- 1 harel harel 1223 Feb 27 10:06 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/stormdist/testTopology3fad644a-54c0-4def-b19e-77ca97941595-1-1393513576/stormconf.ser
@@ -66,73 +82,74 @@ find_output = """8257537 32 drwxrwxrwt 218 root root 28672 Mar 1 1
8263607 0 -rw-rw-r-- 1 harel harel 0 Feb 27 10:16 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/localstate/1393514169735.version
8263533 0 -rw-rw-r-- 1 harel harel 0 Feb 27 10:16 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/localstate/1393514172733.version
8263604 0 -rw-rw-r-- 1 harel harel 0 Feb 27 10:16 /tmp/1628a3fd-b9fe-4dd1-bcdc-7eb869fe7461/supervisor/localstate/1393514175754.version
-"""
-
-header_row = 'name,value1,value2'
-sample_data_rows = ['a,1,0', 'b,2,0', 'c,,0']
-sample_data_rows_with_empty_string = ['a,aaa,0', 'b,bbb,0', 'c,,0']
-sample_data_no_header = "\n".join(sample_data_rows) + "\n"
-sample_data_with_empty_string_no_header = "\n".join(
- sample_data_rows_with_empty_string) + "\n"
-sample_data_with_header = header_row + "\n" + sample_data_no_header
-sample_data_with_missing_header_names = "name,value1\n" + sample_data_no_header
-
-sample_quoted_data = '''non_quoted regular_double_quoted double_double_quoted escaped_double_quoted multiline_double_double_quoted multiline_escaped_double_quoted
+""")
+
+header_row = six.b('name,value1,value2')
+sample_data_rows = [six.b('a,1,0'), six.b('b,2,0'), six.b('c,,0')]
+sample_data_rows_with_empty_string = [six.b('a,aaa,0'), six.b('b,bbb,0'), six.b('c,,0')]
+sample_data_no_header = six.b("\n").join(sample_data_rows) + six.b("\n")
+sample_data_with_empty_string_no_header = six.b("\n").join(
+ sample_data_rows_with_empty_string) + six.b("\n")
+sample_data_with_header = header_row + six.b("\n") + sample_data_no_header
+sample_data_with_missing_header_names = six.b("name,value1\n") + sample_data_no_header
+
+sample_quoted_data = six.b('''non_quoted regular_double_quoted double_double_quoted escaped_double_quoted multiline_double_double_quoted multiline_escaped_double_quoted
control-value-1 "control-value-2" control-value-3 "control-value-4" control-value-5 "control-value-6"
non-quoted-value "this is a quoted value" "this is a ""double double"" quoted value" "this is an escaped \\"quoted value\\"" "this is a double double quoted ""multiline
value""." "this is an escaped \\"multiline
value\\"."
control-value-1 "control-value-2" control-value-3 "control-value-4" control-value-5 "control-value-6"
-'''
+''')
-double_double_quoted_data = '''regular_double_quoted double_double_quoted
+double_double_quoted_data = six.b('''regular_double_quoted double_double_quoted
"this is a quoted value" "this is a quoted value with ""double double quotes"""
-'''
+''')
-escaped_double_quoted_data = '''regular_double_quoted escaped_double_quoted
+escaped_double_quoted_data = six.b('''regular_double_quoted escaped_double_quoted
"this is a quoted value" "this is a quoted value with \\"escaped double quotes\\""
-'''
+''')
-combined_quoted_data = '''regular_double_quoted double_double_quoted escaped_double_quoted
+combined_quoted_data = six.b('''regular_double_quoted double_double_quoted escaped_double_quoted
"this is a quoted value" "this is a quoted value with ""double double quotes""" "this is a quoted value with \\"escaped double quotes\\""
-'''
+''')
-sample_quoted_data2 = '"quoted data" 23\nunquoted-data 54'
+sample_quoted_data2 = six.b('"quoted data" 23\nunquoted-data 54')
-one_column_data = '''data without commas 1
+one_column_data = six.b('''data without commas 1
data without commas 2
-'''
+''')
# Values with leading whitespace
-sample_data_rows_with_spaces = ['a,1,0', ' b, 2,0', 'c,,0']
-sample_data_with_spaces_no_header = "\n".join(
- sample_data_rows_with_spaces) + "\n"
+sample_data_rows_with_spaces = [six.b('a,1,0'), six.b(' b, 2,0'), six.b('c,,0')]
+sample_data_with_spaces_no_header = six.b("\n").join(
+ sample_data_rows_with_spaces) + six.b("\n")
-header_row_with_spaces = 'name,value 1,value2'
+header_row_with_spaces = six.b('name,value 1,value2')
sample_data_with_spaces_with_header = header_row_with_spaces + \
- "\n" + sample_data_with_spaces_no_header
+ six.b("\n") + sample_data_with_spaces_no_header
long_value1 = "23683289372328372328373"
int_value = "2328372328373"
sample_data_with_long_values = "%s\n%s\n%s" % (long_value1,int_value,int_value)
def one_column_warning(e):
- return e[0].startswith('Warning: column count is one')
+ return e[0].startswith(six.b('Warning: column count is one'))
class AbstractQTestCase(unittest.TestCase):
- def create_file_with_data(self, data, encoding='utf-8'):
+ def create_file_with_data(self, data, encoding=None):
+ if encoding is not None:
+ raise Exception('Deprecated: Encoding must be none')
tmpfile = NamedTemporaryFile(delete=False)
- if encoding != 'none' and encoding is not None:
- tmpfile.write(data.encode(encoding))
- else:
- tmpfile.write(data)
+ tmpfile.write(data)
tmpfile.close()
return tmpfile
def cleanup(self, tmpfile):
- os.remove(tmpfile.name)
+ global DEBUG
+ if not DEBUG:
+ os.remove(tmpfile.name)
def random_tmp_filename(self,prefix,postfix):
# TODO Use more robust method for this
@@ -146,16 +163,16 @@ class SaveDbToDiskTests(AbstractQTestCase):
self.assertFalse(os.path.exists(db_filename))
retcode, o, e = run_command('seq 1 1000 | ../bin/q "select count(*) from -" -c 1 -S %s' % db_filename)
-
+
self.assertTrue(retcode == 0)
self.assertTrue(len(o) == 0)
self.assertTrue(len(e) == 5)
- self.assertTrue(e[0].startswith('Going to save data'))
- self.assertTrue(db_filename in e[0])
- self.assertTrue(e[1].startswith('Data has been loaded in'))
- self.assertTrue(e[2].startswith('Saving data to db file'))
- self.assertTrue(e[3].startswith('Data has been saved into'))
- self.assertTrue(e[4] == 'Query to run on the database: select count(*) from `-`;')
+ self.assertTrue(e[0].startswith(six.b('Going to save data')))
+ self.assertTrue(db_filename.encode(sys.stdout.encoding) in e[0])
+ self.assertTrue(e[1].startswith(six.b('Data has been loaded in')))
+ self.assertTrue(e[2].startswith(six.b('Saving data to db file')))
+ self.assertTrue(e[3].startswith(six.b('Data has been saved into')))
+ self.assertTrue(e[4] == six.b('Query to run on the database: select count(*) from `-`;'))
self.assertTrue(os.path.exists(db_filename))
@@ -178,8 +195,8 @@ class SaveDbToDiskTests(AbstractQTestCase):
retcode2, o2, e2 = run_command('seq 1 1000 | ../bin/q "select count(*) from -" -c 1 -S %s' % db_filename)
self.assertTrue(retcode2 != 0)
- self.assertTrue(e2[0].startswith('Going to save data into a disk database'))
- self.assertTrue(e2[1] == 'Disk database file %s already exists.' % db_filename)
+ self.assertTrue(e2[0].startswith(six.b('Going to save data into a disk database')))
+ self.assertTrue(e2[1] == six.b('Disk database file {} already exists.'.format(db_filename)))
os.remove(db_filename)
@@ -193,13 +210,13 @@ class BasicTests(AbstractQTestCase):
self.assertTrue(len(o) == 1)
self.assertTrue(len(e) == 1)
- s = sum(xrange(1, 11))
- self.assertTrue(o[0] == '%s %s' % (s, s / 10.0))
+ s = sum(range(1, 11))
+ self.assertTrue(o[0] == six.b('%s %s' % (s, s / 10.0)))
self.assertTrue(one_column_warning(e))
def test_gzipped_file(self):
tmpfile = self.create_file_with_data(
- '\x1f\x8b\x08\x08\xf2\x18\x12S\x00\x03xxxxxx\x003\xe42\xe22\xe62\xe12\xe52\xe32\xe7\xb2\xe0\xb2\xe424\xe0\x02\x00\xeb\xbf\x8a\x13\x15\x00\x00\x00', encoding='none')
+ six.b('\x1f\x8b\x08\x08\xf2\x18\x12S\x00\x03xxxxxx\x003\xe42\xe22\xe62\xe12\xe52\xe32\xe7\xb2\xe0\xb2\xe424\xe0\x02\x00\xeb\xbf\x8a\x13\x15\x00\x00\x00'))
cmd = '../bin/q -z "select sum(c1),avg(c1) from %s"' % tmpfile.name
@@ -208,15 +225,15 @@ class BasicTests(AbstractQTestCase):
self.assertTrue(len(o) == 1)
self.assertTrue(len(e) == 1)
- s = sum(xrange(1, 11))
- self.assertTrue(o[0] == '%s %s' % (s, s / 10.0))
+ s = sum(range(1, 11))
+ self.assertTrue(o[0] == six.b('%s %s' % (s, s / 10.0)))
self.assertTrue(one_column_warning(e))
self.cleanup(tmpfile)
def test_attempt_to_unzip_stdin(self):
tmpfile = self.create_file_with_data(
- '\x1f\x8b\x08\x08\xf2\x18\x12S\x00\x03xxxxxx\x003\xe42\xe22\xe62\xe12\xe52\xe32\xe7\xb2\xe0\xb2\xe424\xe0\x02\x00\xeb\xbf\x8a\x13\x15\x00\x00\x00', encoding='none')
+ six.b('\x1f\x8b\x08\x08\xf2\x18\x12S\x00\x03xxxxxx\x003\xe42\xe22\xe62\xe12\xe52\xe32\xe7\xb2\xe0\xb2\xe424\xe0\x02\x00\xeb\xbf\x8a\x13\x15\x00\x00\x00'))
cmd = 'cat %s | ../bin/q -z "select sum(c1),avg(c1) from -"' % tmpfile.name
@@ -225,7 +242,7 @@ class BasicTests(AbstractQTestCase):
self.assertTrue(len(o) == 0)
self.assertTrue(len(e) == 1)
- self.assertEquals(e[0],'Cannot decompress standard input. Pipe the input through zcat in order to decompress.')
+ self.assertEqual(e[0],six.b('Cannot decompress standard input. Pipe the input through zcat in order to decompress.'))
self.cleanup(tmpfile)
@@ -235,14 +252,14 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d " " "select * from %s" -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertNotEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 3)
+ self.assertNotEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 3)
self.assertTrue(e[0].startswith(
- "Warning: column count is one - did you provide the correct delimiter"))
- self.assertTrue(e[1].startswith("Bad header row"))
- self.assertTrue("Column name cannot contain commas" in e[2])
+ six.b("Warning: column count is one - did you provide the correct delimiter")))
+ self.assertTrue(e[1].startswith(six.b("Bad header row")))
+ self.assertTrue(six.b("Column name cannot contain commas") in e[2])
self.cleanup(tmpfile)
@@ -252,11 +269,11 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c2 from %s where regexp(\'^1\',c2)"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 1)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 1)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0],"1")
+ self.assertEqual(o[0],six.b("1"))
self.cleanup(tmpfile)
@@ -266,11 +283,11 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select count(*) from %s where regexp(\'^\',c2)"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 1)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 1)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0],"2")
+ self.assertEqual(o[0],six.b("2"))
self.cleanup(tmpfile)
@@ -280,41 +297,41 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(" ".join(o), 'a b c')
+ self.assertEqual(six.b(" ").join(o), six.b('a b c'))
self.cleanup(tmpfile)
def test_tab_delimition_parameter(self):
tmpfile = self.create_file_with_data(
- sample_data_no_header.replace(",", "\t"))
+ sample_data_no_header.replace(six.b(","), six.b("\t")))
cmd = '../bin/q -t "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0].replace(",", "\t"))
- self.assertEquals(o[1], sample_data_rows[1].replace(",", "\t"))
- self.assertEquals(o[2], sample_data_rows[2].replace(",", "\t"))
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(o[0], sample_data_rows[0].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[1], sample_data_rows[1].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[2], sample_data_rows[2].replace(six.b(","), six.b("\t")))
self.cleanup(tmpfile)
def test_tab_delimition_parameter__with_manual_override_attempt(self):
tmpfile = self.create_file_with_data(
- sample_data_no_header.replace(",", "\t"))
+ sample_data_no_header.replace(six.b(","), six.b("\t")))
cmd = '../bin/q -t -d , "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0].replace(",", "\t"))
- self.assertEquals(o[1], sample_data_rows[1].replace(",", "\t"))
- self.assertEquals(o[2], sample_data_rows[2].replace(",", "\t"))
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(o[0], sample_data_rows[0].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[1], sample_data_rows[1].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[2], sample_data_rows[2].replace(six.b(","), six.b("\t")))
self.cleanup(tmpfile)
@@ -323,13 +340,13 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , -D "|" "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0].replace(",", "|"))
- self.assertEquals(o[1], sample_data_rows[1].replace(",", "|"))
- self.assertEquals(o[2], sample_data_rows[2].replace(",", "|"))
+ self.assertEqual(o[0], sample_data_rows[0].replace(six.b(","), six.b("|")))
+ self.assertEqual(o[1], sample_data_rows[1].replace(six.b(","), six.b("|")))
+ self.assertEqual(o[2], sample_data_rows[2].replace(six.b(","), six.b("|")))
self.cleanup(tmpfile)
@@ -338,13 +355,13 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , -T "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0].replace(",", "\t"))
- self.assertEquals(o[1], sample_data_rows[1].replace(",", "\t"))
- self.assertEquals(o[2], sample_data_rows[2].replace(",", "\t"))
+ self.assertEqual(o[0], sample_data_rows[0].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[1], sample_data_rows[1].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[2], sample_data_rows[2].replace(six.b(","), six.b("\t")))
self.cleanup(tmpfile)
@@ -353,40 +370,40 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , -T -D "|" "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0].replace(",", "\t"))
- self.assertEquals(o[1], sample_data_rows[1].replace(",", "\t"))
- self.assertEquals(o[2], sample_data_rows[2].replace(",", "\t"))
+ self.assertEqual(o[0], sample_data_rows[0].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[1], sample_data_rows[1].replace(six.b(","), six.b("\t")))
+ self.assertEqual(o[2], sample_data_rows[2].replace(six.b(","), six.b("\t")))
self.cleanup(tmpfile)
def test_stdin_input(self):
- cmd = 'printf "%s" | ../bin/q -d , "select c1,c2,c3 from -"' % sample_data_no_header
+ cmd = six.b('printf "%s" | ../bin/q -d , "select c1,c2,c3 from -"') % sample_data_no_header
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0])
- self.assertEquals(o[1], sample_data_rows[1])
- self.assertEquals(o[2], sample_data_rows[2])
+ self.assertEqual(o[0], sample_data_rows[0])
+ self.assertEqual(o[1], sample_data_rows[1])
+ self.assertEqual(o[2], sample_data_rows[2])
def test_column_separation(self):
tmpfile = self.create_file_with_data(sample_data_no_header)
cmd = '../bin/q -d , "select c1,c2,c3 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], sample_data_rows[0])
- self.assertEquals(o[1], sample_data_rows[1])
- self.assertEquals(o[2], sample_data_rows[2])
+ self.assertEqual(o[0], sample_data_rows[0])
+ self.assertEqual(o[1], sample_data_rows[1])
+ self.assertEqual(o[2], sample_data_rows[2])
self.cleanup(tmpfile)
@@ -396,11 +413,11 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s" -A' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`c1` - text')
- self.assertEquals(o[2].strip(), '`c2` - int')
- self.assertEquals(o[3].strip(), '`c3` - int')
+ self.assertEqual(retcode, 0)
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`c1` - text'))
+ self.assertEqual(o[2].strip(), six.b('`c2` - int'))
+ self.assertEqual(o[3].strip(), six.b('`c3` - int'))
self.cleanup(tmpfile)
@@ -410,24 +427,24 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s" -A' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`c1` - text')
- self.assertEquals(o[2].strip(), '`c2` - int')
- self.assertEquals(o[3].strip(), '`c3` - int')
+ self.assertEqual(retcode, 0)
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`c1` - text'))
+ self.assertEqual(o[2].strip(), six.b('`c2` - int'))
+ self.assertEqual(o[3].strip(), six.b('`c3` - int'))
def test_header_exception_on_numeric_header_data(self):
tmpfile = self.create_file_with_data(sample_data_no_header)
cmd = '../bin/q -d , "select * from %s" -A -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertNotEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 3)
+ self.assertNotEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 3)
self.assertTrue(
- 'Bad header row: Header must contain only strings' in e[0])
- self.assertTrue("Column name must be a string" in e[1])
- self.assertTrue("Column name must be a string" in e[2])
+ six.b('Bad header row: Header must contain only strings') in e[0])
+ self.assertTrue(six.b("Column name must be a string") in e[1])
+ self.assertTrue(six.b("Column name must be a string") in e[2])
self.cleanup(tmpfile)
@@ -436,15 +453,15 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s" -A -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertNotEquals(retcode, 0)
- self.assertEquals(len(o),4)
- self.assertEquals(len(e),2)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`name` - text')
- self.assertEquals(o[2].strip(), '`value1` - int')
- self.assertEquals(o[3].strip(), '`value2` - int')
- self.assertEquals(e[0].strip(),'query error: no such column: c1')
- self.assertTrue(e[1].startswith('Warning - There seems to be a '))
+ self.assertNotEqual(retcode, 0)
+ self.assertEqual(len(o),4)
+ self.assertEqual(len(e),2)
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`name` - text'))
+ self.assertEqual(o[2].strip(), six.b('`value1` - int'))
+ self.assertEqual(o[3].strip(), six.b('`value2` - int'))
+ self.assertEqual(e[0].strip(),six.b('query error: no such column: c1'))
+ self.assertTrue(e[1].startswith(six.b('Warning - There seems to be a ')))
self.cleanup(tmpfile)
@@ -453,9 +470,9 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select name from %s" -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 3)
- self.assertEquals(" ".join(o), "a b c")
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 3)
+ self.assertEqual(six.b(" ").join(o), six.b("a b c"))
self.cleanup(tmpfile)
@@ -464,12 +481,12 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select name from %s" -H -O' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 4)
- self.assertEquals(o[0],'name')
- self.assertEquals(o[1],'a')
- self.assertEquals(o[2],'b')
- self.assertEquals(o[3],'c')
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 4)
+ self.assertEqual(o[0],six.b('name'))
+ self.assertEqual(o[1],six.b('a'))
+ self.assertEqual(o[2],six.b('b'))
+ self.assertEqual(o[3],six.b('c'))
self.cleanup(tmpfile)
@@ -479,12 +496,12 @@ class BasicTests(AbstractQTestCase):
retcode, o, e = run_command(cmd)
- self.assertNotEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 2)
- self.assertTrue('no such column: c3' in e[0])
- self.assertEquals(
- e[1], 'Warning - There seems to be a "no such column" error, and -H (header line) exists. Please make sure that you are using the column names from the header line and not the default (cXX) column names')
+ self.assertNotEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 2)
+ self.assertTrue(six.b('no such column: c3') in e[0])
+ self.assertEqual(
+ e[1], six.b('Warning - There seems to be a "no such column" error, and -H (header line) exists. Please make sure that you are using the column names from the header line and not the default (cXX) column names'))
self.cleanup(tmpfile)
@@ -493,43 +510,43 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s" -A' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 4)
- self.assertEquals(len(e), 1)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 4)
+ self.assertEqual(len(e), 1)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`c1` - text')
- self.assertEquals(o[2].strip(), '`c2` - text')
- self.assertEquals(o[3].strip(), '`c3` - text')
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`c1` - text'))
+ self.assertEqual(o[2].strip(), six.b('`c2` - text'))
+ self.assertEqual(o[3].strip(), six.b('`c3` - text'))
- self.assertEquals(
- e[0], 'Warning - There seems to be header line in the file, but -H has not been specified. All fields will be detected as text fields, and the header line will appear as part of the data')
+ self.assertEqual(
+ e[0], six.b('Warning - There seems to be header line in the file, but -H has not been specified. All fields will be detected as text fields, and the header line will appear as part of the data'))
self.cleanup(tmpfile)
def test_empty_data(self):
- tmpfile = self.create_file_with_data('')
+ tmpfile = self.create_file_with_data(six.b(''))
cmd = '../bin/q -d , "select c1 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 1)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 1)
- self.assertTrue('Warning - data is empty' in e[0])
+ self.assertTrue(six.b('Warning - data is empty') in e[0])
self.cleanup(tmpfile)
def test_empty_data_with_header_param(self):
- tmpfile = self.create_file_with_data('')
+ tmpfile = self.create_file_with_data(six.b(''))
cmd = '../bin/q -d , "select c1 from %s" -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertNotEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 1)
+ self.assertNotEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 1)
- m = "Header line is expected but missing in file %s" % tmpfile.name
+ m = six.b("Header line is expected but missing in file %s" % tmpfile.name)
self.assertTrue(m in e[0])
self.cleanup(tmpfile)
@@ -539,11 +556,11 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c2 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 1)
- self.assertEquals(len(e), 0)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 1)
+ self.assertEqual(len(e), 0)
- self.assertEquals(o[0], 'value1')
+ self.assertEqual(o[0], six.b('value1'))
self.cleanup(tmpfile)
@@ -552,11 +569,11 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c2 from %s" -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(o), 0)
- self.assertEquals(len(e), 1)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(o), 0)
+ self.assertEqual(len(e), 1)
- self.assertTrue('Warning - data is empty' in e[0])
+ self.assertTrue(six.b('Warning - data is empty') in e[0])
self.cleanup(tmpfile)
@@ -565,13 +582,13 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s"' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 3)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 3)
- self.assertEquals(o[0], 'a')
- self.assertEquals(o[1], 'b')
- self.assertEquals(o[2], 'c')
+ self.assertEqual(o[0], six.b('a'))
+ self.assertEqual(o[1], six.b('b'))
+ self.assertEqual(o[2], six.b('c'))
self.cleanup(tmpfile)
@@ -580,13 +597,13 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c1 from %s" -k' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 3)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 3)
- self.assertEquals(o[0], 'a')
- self.assertEquals(o[1], ' b')
- self.assertEquals(o[2], 'c')
+ self.assertEqual(o[0], six.b('a'))
+ self.assertEqual(o[1], six.b(' b'))
+ self.assertEqual(o[2], six.b('c'))
self.cleanup(tmpfile)
@@ -595,47 +612,47 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , "select c2 from %s" -k -A' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 4)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 4)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`c1` - text')
- self.assertEquals(o[2].strip(), '`c2` - int')
- self.assertEquals(o[3].strip(), '`c3` - int')
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`c1` - text'))
+ self.assertEqual(o[2].strip(), six.b('`c2` - int'))
+ self.assertEqual(o[3].strip(), six.b('`c3` - int'))
self.cleanup(tmpfile)
def test_spaces_in_header_row(self):
tmpfile = self.create_file_with_data(
- header_row_with_spaces + "\n" + sample_data_no_header)
+ header_row_with_spaces + six.b("\n") + sample_data_no_header)
cmd = '../bin/q -d , "select name,\`value 1\` from %s" -H' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 3)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 3)
- self.assertEquals(o[0], 'a,1')
- self.assertEquals(o[1], 'b,2')
- self.assertEquals(o[2], 'c,')
+ self.assertEqual(o[0], six.b('a,1'))
+ self.assertEqual(o[1], six.b('b,2'))
+ self.assertEqual(o[2], six.b('c,'))
self.cleanup(tmpfile)
def test_column_analysis_for_spaces_in_header_row(self):
tmpfile = self.create_file_with_data(
- header_row_with_spaces + "\n" + sample_data_no_header)
+ header_row_with_spaces + six.b("\n") + sample_data_no_header)
cmd = '../bin/q -d , "select name,\`value 1\` from %s" -H -A' % tmpfile.name
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 4)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 4)
- self.assertEquals(o[0], 'Table for file: %s' % tmpfile.name)
- self.assertEquals(o[1].strip(), '`name` - text')
- self.assertEquals(o[2].strip(), '`value 1` - int')
- self.assertEquals(o[3].strip(), '`value2` - int')
+ self.assertEqual(o[0], six.b('Table for file: %s' % tmpfile.name))
+ self.assertEqual(o[1].strip(), six.b('`name` - text'))
+ self.assertEqual(o[2].strip(), six.b('`value 1` - int'))
+ self.assertEqual(o[3].strip(), six.b('`value2` - int'))
self.cleanup(tmpfile)
@@ -643,199 +660,199 @@ class BasicTests(AbstractQTestCase):
cmd = '../bin/q -d , ""'
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 1)
- self.assertEquals(len(e), 1)
- self.assertEquals(len(o), 0)
+ self.assertEqual(retcode, 1)
+ self.assertEqual(len(e), 1)
+ self.assertEqual(len(o), 0)
- self.assertEquals(e[0],'Query cannot be empty (query number 1)')
+ self.assertEqual(e[0],six.b('Query cannot be empty (query number 1)'))
def test_empty_query_in_command_line(self):
cmd = '../bin/q -d , " "'
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 1)
- self.assertEquals(len(e), 1)
- self.assertEquals(len(o), 0)
+ self.assertEqual(retcode, 1)
+ self.assertEqual(len(e), 1)
+ self.assertEqual(len(o), 0)
- self.assertEquals(e[0],'Query cannot be empty (query number 1)')
+ self.assertEqual(e[0],six.b('Query cannot be empty (query number 1)'))
def test_failure_in_query_stops_processing_queries(self):
cmd = '../bin/q -d , "select 500" "select 300" "wrong-query" "select 8000"'
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 1)
- self.assertEquals(len(e), 1)
- self.assertEquals(len(o), 2)
- self.assertEquals(o[0],'500')
- self.assertEquals(o[1],'300')
+ self.assertEqual(retcode, 1)
+ self.assertEqual(len(e), 1)
+ self.assertEqual(len(o), 2)
+ self.assertEqual(o[0],six.b('500'))
+ self.assertEqual(o[1],six.b('300'))
def test_multiple_queries_in_command_line(self):
cmd = '../bin/q -d , "select 500" "select 300+100" "select 300" "select 200"'
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 4)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 4)
- self.assertEquals(o[0],'500')
- self.assertEquals(o[1],'400')
- self.assertEquals(o[2],'300')
- self.assertEquals(o[3],'200')
+ self.assertEqual(o[0],six.b('500'))
+ self.assertEqual(o[1],six.b('400'))
+ self.assertEqual(o[2],six.b('300'))
+ self.assertEqual(o[3],six.b('200'))
def test_literal_calculation_query(self):
cmd = '../bin/q -d , "select 1+40/6"'
retcode, o, e = run_command(cmd)
- self.assertEquals(retcode, 0)
- self.assertEquals(len(e), 0)
- self.assertEquals(len(o), 1)
+ self.assertEqual(retcode, 0)
+ self.assertEqual(len(e), 0)
+ self.assertEqual(len(o), 1)
- self.assertEqual