[Tarantool-patches] [PATCH v1 6/7] tests: adjust LuaJIT-test-cleanup for Tarantool

imeevma at tarantool.org imeevma at tarantool.org
Wed Jan 20 18:10:11 MSK 2021


This patch makes it possible to run LuaJIT-test-cleanup test suite using
Tarantool.

Part of tarantool/tarantool#4064
---
 test/LuaJIT-test-cleanup/CMakeLists.txt       |   2 +-
 test/LuaJIT-test-cleanup/lang/assignment.lua  |   6 +-
 test/LuaJIT-test-cleanup/lang/meta/cat.lua    |   2 +-
 .../lang/meta/newindex.lua                    |   2 +-
 test/LuaJIT-test-cleanup/lib/contents.lua     |   4 +-
 test/LuaJIT-test-cleanup/test.lua             |   9 +
 test/LuaJIT-test-cleanup/tests_list           | 508 ++++++++++++++++++
 7 files changed, 525 insertions(+), 8 deletions(-)
 create mode 100644 test/LuaJIT-test-cleanup/tests_list

diff --git a/test/LuaJIT-test-cleanup/CMakeLists.txt b/test/LuaJIT-test-cleanup/CMakeLists.txt
index a40d028..c309f5c 100644
--- a/test/LuaJIT-test-cleanup/CMakeLists.txt
+++ b/test/LuaJIT-test-cleanup/CMakeLists.txt
@@ -6,7 +6,7 @@ add_custom_command(
   OUTPUT tests.ok
   DEPENDS ${LUAJIT_TEST_BINARY}
   COMMAND
-    ${LUAJIT_TEST_BINARY} ${CMAKE_CURRENT_SOURCE_DIR}/test.lua
+    ${LUAJIT_TEST_BINARY} ${CMAKE_CURRENT_SOURCE_DIR}/test.lua `cat tests_list`
     && touch tests.ok
   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 )
diff --git a/test/LuaJIT-test-cleanup/lang/assignment.lua b/test/LuaJIT-test-cleanup/lang/assignment.lua
index e9745ef..6a24e6c 100644
--- a/test/LuaJIT-test-cleanup/lang/assignment.lua
+++ b/test/LuaJIT-test-cleanup/lang/assignment.lua
@@ -19,14 +19,14 @@ do --- global !private_G
   a, b, c = 0, 1
   assert(a == 0)
   assert(b == 1)
-  assert(c == nil)
+  assert(variable_exists('c') == nil)
   a, b = a+1, b+1, a+b
   assert(a == 1)
   assert(b == 2)
   a, b, c = 0
   assert(a == 0)
-  assert(b == nil)
-  assert(c == nil)
+  assert(variable_exists('b') == nil)
+  assert(variable_exists('c') == nil)
 end
 
 do --- local lhs in key on lhs
diff --git a/test/LuaJIT-test-cleanup/lang/meta/cat.lua b/test/LuaJIT-test-cleanup/lang/meta/cat.lua
index 48a89e4..1368f16 100644
--- a/test/LuaJIT-test-cleanup/lang/meta/cat.lua
+++ b/test/LuaJIT-test-cleanup/lang/meta/cat.lua
@@ -46,7 +46,7 @@ end
 
 do --- jit mixed types
   local a, b = create(function(a, b)
-    if a ~= b then local x = gg end
+    if a ~= b then local x = variable_exists('gg') end
     return (type(a) == "string" and a or a[1])..
 	   (type(b) == "string" and b or b[1])
   end, "a", "b")
diff --git a/test/LuaJIT-test-cleanup/lang/meta/newindex.lua b/test/LuaJIT-test-cleanup/lang/meta/newindex.lua
index 6c46b8c..e7e4737 100644
--- a/test/LuaJIT-test-cleanup/lang/meta/newindex.lua
+++ b/test/LuaJIT-test-cleanup/lang/meta/newindex.lua
@@ -46,7 +46,7 @@ do --- resize
   setmetatable(parent, grandparent)
 
   local child = setmetatable({}, parent)
-  child.foo = _
+  child.foo = variable_exists('_')
 end
 
 do --- str
diff --git a/test/LuaJIT-test-cleanup/lib/contents.lua b/test/LuaJIT-test-cleanup/lib/contents.lua
index 45c07eb..46a9232 100644
--- a/test/LuaJIT-test-cleanup/lib/contents.lua
+++ b/test/LuaJIT-test-cleanup/lib/contents.lua
@@ -43,11 +43,11 @@ do --- 5.2 base +lua>=5.2
 end
 
 do --- pre-5.2 base rawlen -compat5.2
-  assert(not rawlen)
+  assert(not variable_exists('rawlen'))
 end
 
 do --- 5.2 base rawlen +compat5.2
-  assert(rawlen)
+  assert(variable_exists('rawlen'))
 end
 
 do --- math
diff --git a/test/LuaJIT-test-cleanup/test.lua b/test/LuaJIT-test-cleanup/test.lua
index b064eff..df4854c 100644
--- a/test/LuaJIT-test-cleanup/test.lua
+++ b/test/LuaJIT-test-cleanup/test.lua
@@ -401,6 +401,15 @@ local function execute_plan(plan, opts)
   end
 end
 
+function variable_exists (name)
+    for k,_ in pairs(_G) do
+        if (k == name) then
+            return _G[name]
+        end
+    end
+    return nil
+end
+
 local opts = parse_args{...}
 if not opts then
   return
diff --git a/test/LuaJIT-test-cleanup/tests_list b/test/LuaJIT-test-cleanup/tests_list
new file mode 100644
index 0000000..5bcfef6
--- /dev/null
+++ b/test/LuaJIT-test-cleanup/tests_list
@@ -0,0 +1,508 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
-- 
2.25.1



More information about the Tarantool-patches mailing list