OSDN Git Service

Make regression test for textporter work fine on PostgreSQL 12 or later.
authorFujii Masao <fujii@postgresql.org>
Tue, 4 Feb 2020 10:12:39 +0000 (19:12 +0900)
committerFujii Masao <fujii@postgresql.org>
Tue, 4 Feb 2020 10:12:39 +0000 (19:12 +0900)
Previously the regression test for textporter failed when it ran on
PostgreSQL 12 or later. The cause of this issue is that commit d8594d1
in PostgreSQL changed the outputs of textporter regression test results.
This leads the existing expected file that depends on PostgreSQL 11
or before not to match with the output of regression test on 12,
and then caused the regression test to fail.

To fix the above issue, this commit adds textporter_1.source as
a variant comparison file, which contains the expected output of
textporter regression test on 12 or later.

Author: Torikoshi Atsushi
Reviewed-by: Fujii Masao
Discussion: https://osdn.net/projects/ludiafuncs/lists/archive/hackers/2020-February/000040.html

expected/.gitignore
output/textporter_1.source [new file with mode: 0644]

index 9e147eb..1682ea0 100644 (file)
@@ -1 +1,2 @@
 /textporter.out
+/textporter_1.out
diff --git a/output/textporter_1.source b/output/textporter_1.source
new file mode 100644 (file)
index 0000000..71bddd0
--- /dev/null
@@ -0,0 +1,567 @@
+\pset null '(null)'
+-- Load ludia_funcs module
+CREATE EXTENSION ludia_funcs;
+-- DMC_GETTEXT_OPT_CRLF
+SET ludia_funcs.textporter_option = 8;
+SET ludia_funcs.textporter_error TO warning;
+-- Test whether pgs2textporter1() can extract the contents from
+-- various types of input files.
+SELECT pgs2snippet1(1,300,1,'∇','∇',0,'データベース',pgs2textporter1('@abs_srcdir@/data/test.txt'));
+                            pgs2snippet1                            
+--------------------------------------------------------------------
+ PostgreSQLは∇データベース∇です。PostgreSQLはオープンソースです。\r+
+ PostgreSQLは∇データベース∇です。PostgreSQLはオープンソースです。\r+
+ PostgreSQLは∇データベース∇です。PostgreSQLはオープンソースです。\r+
+ PostgreSQLは∇データベース∇です。Postg
+(1 row)
+
+SELECT pgs2textporter1('@abs_srcdir@/data/test.docx');
+             pgs2textporter1             
+-----------------------------------------
+ PostgreSQLはオープンソースのDBMSです\r+
+(1 row)
+
+SELECT pgs2textporter1('@abs_srcdir@/data/test.xlsx');
+          pgs2textporter1          
+-----------------------------------
+ "OSS-DB"\r                      +
+ "PostgreSQL","MySQL","Firebird"\r+
+ \r                               +
+(1 row)
+
+SELECT pgs2textporter1('@abs_srcdir@/data/powerpoint2007_test.pptx');
+     pgs2textporter1     
+-------------------------
+ PowerPoint test File\r+
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+ PowerPoint test File\r +
+ TEST\r                 +
+(1 row)
+
+SELECT pgs2textporter1('@abs_srcdir@/data/pdf1.5_test.pdf');
+    pgs2textporter1     
+------------------------
+  \r                  +
+ PDF_テストファイル \r+
+  \r                   +
+  PDF ファイル \r      +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+ PDF ファイル \r       +
+    \r                 +
+ END \r                +
+  \r                   +
+(1 row)
+
+SELECT pgs2textporter1('@abs_srcdir@/data/csv_test.csv');
+        pgs2textporter1         
+--------------------------------
+ ■CSVテストファイル,,,\r      +
+ ,,,\r                         +
+ CSV,ABCDEFG,CSVファイル,1234\r+
+ CSV,ABCDEFG,CSVファイル,1235\r+
+ CSV,ABCDEFG,CSVファイル,1236\r+
+ CSV,ABCDEFG,CSVファイル,1237\r+
+ CSV,ABCDEFG,CSVファイル,1238\r+
+ CSV,ABCDEFG,CSVファイル,1239\r+
+ CSV,ABCDEFG,CSVファイル,1240\r+
+ CSV,ABCDEFG,CSVファイル,1241\r+
+ CSV,ABCDEFG,CSVファイル,1242\r+
+ CSV,ABCDEFG,CSVファイル,1243\r+
+ CSV,ABCDEFG,CSVファイル,1244\r+
+ CSV,ABCDEFG,CSVファイル,1245\r+
+ CSV,ABCDEFG,CSVファイル,1246\r+
+ CSV,ABCDEFG,CSVファイル,1247\r+
+ CSV,ABCDEFG,CSVファイル,1248\r+
+ CSV,ABCDEFG,CSVファイル,1249\r+
+ CSV,ABCDEFG,CSVファイル,1250\r+
+ CSV,ABCDEFG,CSVファイル,1251\r+
+ CSV,ABCDEFG,CSVファイル,1252\r+
+ CSV,ABCDEFG,CSVファイル,1253\r+
+ CSV,ABCDEFG,CSVファイル,1254\r+
+ CSV,ABCDEFG,CSVファイル,1255\r+
+ CSV,ABCDEFG,CSVファイル,1256\r+
+ CSV,ABCDEFG,CSVファイル,1257\r+
+ CSV,ABCDEFG,CSVファイル,1258\r+
+ CSV,ABCDEFG,CSVファイル,1259\r+
+ CSV,ABCDEFG,CSVファイル,1260\r+
+ CSV,ABCDEFG,CSVファイル,1261\r+
+ CSV,ABCDEFG,CSVファイル,1262\r+
+ CSV,ABCDEFG,CSVファイル,1263\r+
+ CSV,ABCDEFG,CSVファイル,1264\r+
+ CSV,ABCDEFG,CSVファイル,1265\r+
+ CSV,ABCDEFG,CSVファイル,1266\r+
+ CSV,ABCDEFG,CSVファイル,1267\r+
+ CSV,ABCDEFG,CSVファイル,1268\r+
+ CSV,ABCDEFG,CSVファイル,1269\r+
+ CSV,ABCDEFG,CSVファイル,1270\r+
+ CSV,ABCDEFG,CSVファイル,1271\r+
+ CSV,ABCDEFG,CSVファイル,1272\r+
+ CSV,ABCDEFG,CSVファイル,1273\r+
+ CSV,ABCDEFG,CSVファイル,1274\r+
+ CSV,ABCDEFG,CSVファイル,1275\r+
+ CSV,ABCDEFG,CSVファイル,1276\r+
+ CSV,ABCDEFG,CSVファイル,1277\r+
+ CSV,ABCDEFG,CSVファイル,1278\r+
+ CSV,ABCDEFG,CSVファイル,1279\r+
+ CSV,ABCDEFG,CSVファイル,1280\r+
+ CSV,ABCDEFG,CSVファイル,1281\r+
+ CSV,ABCDEFG,CSVファイル,1282\r+
+ CSV,ABCDEFG,CSVファイル,1283\r+
+ CSV,ABCDEFG,CSVファイル,1284\r+
+ CSV,ABCDEFG,CSVファイル,1285\r+
+ CSV,ABCDEFG,CSVファイル,1286\r+
+ CSV,ABCDEFG,CSVファイル,1287\r+
+ CSV,ABCDEFG,CSVファイル,1288\r+
+ CSV,ABCDEFG,CSVファイル,1289\r+
+ CSV,ABCDEFG,CSVファイル,1290\r+
+ CSV,ABCDEFG,CSVファイル,1291\r+
+ CSV,ABCDEFG,CSVファイル,1292\r+
+ CSV,ABCDEFG,CSVファイル,1293\r+
+ CSV,ABCDEFG,CSVファイル,1294\r+
+ CSV,ABCDEFG,CSVファイル,1295\r+
+ CSV,ABCDEFG,CSVファイル,1296\r+
+ CSV,ABCDEFG,CSVファイル,1297\r+
+ CSV,ABCDEFG,CSVファイル,1298\r+
+ CSV,ABCDEFG,CSVファイル,1299\r+
+ CSV,ABCDEFG,CSVファイル,1300\r+
+ CSV,ABCDEFG,CSVファイル,1301\r+
+ CSV,ABCDEFG,CSVファイル,1302\r+
+ CSV,ABCDEFG,CSVファイル,1303\r+
+ CSV,ABCDEFG,CSVファイル,1304\r+
+ CSV,ABCDEFG,CSVファイル,1305\r+
+ CSV,ABCDEFG,CSVファイル,1306\r+
+ CSV,ABCDEFG,CSVファイル,1307\r+
+ CSV,ABCDEFG,CSVファイル,1308\r+
+ CSV,ABCDEFG,CSVファイル,1309\r+
+ CSV,ABCDEFG,CSVファイル,1310\r+
+ CSV,ABCDEFG,CSVファイル,1311\r+
+ CSV,ABCDEFG,CSVファイル,1312\r+
+ CSV,ABCDEFG,CSVファイル,1313\r+
+ CSV,ABCDEFG,CSVファイル,1314\r+
+ CSV,ABCDEFG,CSVファイル,1315\r+
+ CSV,ABCDEFG,CSVファイル,1316\r+
+ CSV,ABCDEFG,CSVファイル,1317\r+
+ CSV,ABCDEFG,CSVファイル,1318\r+
+ CSV,ABCDEFG,CSVファイル,1319\r+
+ CSV,ABCDEFG,CSVファイル,1320\r+
+ CSV,ABCDEFG,CSVファイル,1321\r+
+ CSV,ABCDEFG,CSVファイル,1322\r+
+ CSV,ABCDEFG,CSVファイル,1323\r+
+ CSV,ABCDEFG,CSVファイル,1324\r+
+ CSV,ABCDEFG,CSVファイル,1325\r+
+ CSV,ABCDEFG,CSVファイル,1326\r+
+ CSV,ABCDEFG,CSVファイル,1327\r+
+ CSV,ABCDEFG,CSVファイル,1328\r+
+ CSV,ABCDEFG,CSVファイル,1329\r+
+ CSV,ABCDEFG,CSVファイル,1330\r+
+ CSV,ABCDEFG,CSVファイル,1331\r+
+ CSV,ABCDEFG,CSVファイル,1332\r+
+(1 row)
+
+-- Test whether the setting of textporter_option affects the behavior of
+-- pgs2textporter1() expectedly.
+-- DMC_GETTEXT_OPT_CSV1 and DMC_GETTEXT_OPT_CRLF
+SET ludia_funcs.textporter_option TO 16777224;
+SELECT pgs2textporter1('@abs_srcdir@/data/test.xlsx');
+       pgs2textporter1       
+-----------------------------
+ OSS-DB\r                  +
+ PostgreSQL,MySQL,Firebird\r+
+ \r                         +
+(1 row)
+
+-- DMC_GETTEXT_OPT_SHFTAG and DMC_GETTEXT_OPT_LF
+SET ludia_funcs.textporter_option = 262160;
+SELECT pgs2textporter1('@abs_srcdir@/data/test.xlsx');
+                    pgs2textporter1                    
+-------------------------------------------------------
+ <Sheet1:OSS-DB>\r"PostgreSQL","MySQL","Firebird"\r\r
+(1 row)
+
+-- Test the case where textporter_option is set to the minimum value.
+SET ludia_funcs.textporter_option = 0;
+SELECT pgs2textporter1('@abs_srcdir@/data/test.docx');
+             pgs2textporter1             
+-----------------------------------------
+ PostgreSQLはオープンソースのDBMSです\r+
+(1 row)
+
+-- Test the case where textporter_option is set to the maximum value.
+SET ludia_funcs.textporter_option = 4294967295;
+SELECT pgs2textporter1('@abs_srcdir@/data/test.docx');
+            pgs2textporter1            
+---------------------------------------
+ PostgreSQLはオープンソースのDBMSです
+(1 row)
+
+-- Test the cases where textporter_option is set to the invalid value.
+SET ludia_funcs.textporter_option = -1;
+ERROR:  invalid value for parameter "ludia_funcs.textporter_option": "-1"
+HINT:  Value exceeds unsigned integer range.
+SET ludia_funcs.textporter_option = 4294967296;
+ERROR:  invalid value for parameter "ludia_funcs.textporter_option": "4294967296"
+HINT:  Value exceeds unsigned integer range.
+SET ludia_funcs.textporter_option = 'a';
+ERROR:  invalid value for parameter "ludia_funcs.textporter_option": "a"
+-- Test whether the setting of textporter_error affects the behavior of
+-- pgs2textporter1() expectedly.
+SET ludia_funcs.textporter_error TO notice;
+SELECT pgs2textporter1('@abs_srcdir@/data/noexist');
+NOTICE:  could not get text from application file "@abs_srcdir@/data/noexist"
+DETAIL:  DMC_GetText_V5() failed with errcode 2001
+ pgs2textporter1 
+-----------------
+ (null)
+(1 row)
+
+SET ludia_funcs.textporter_error TO error;
+SELECT pgs2textporter1('@abs_srcdir@/data/noexist');
+ERROR:  could not get text from application file "@abs_srcdir@/data/noexist"
+DETAIL:  DMC_GetText_V5() failed with errcode 2001
+-- Clean up ludia_funcs module
+DROP EXTENSION ludia_funcs;
+-- Test the case where database encoding is not UTF8
+\c regtest_ludia_funcs_eucjp
+SELECT pgs2textporter1('@abs_srcdir@/data/test.docx');
+ERROR:  does not support database encoding "EUC_JP"