summaryrefslogtreecommitdiff
path: root/backport-remove-TestJitterbug6175.patch
blob: 1d286db3dfee4d74724052628d52a48c7e6098af (plain)
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
From d4774599b63f72c887cf449d02b3d1e5b0acc960 Mon Sep 17 00:00:00 2001
From: Peter Edberg <pedberg@unicode.org>
Date: Wed, 12 Mar 2008 23:22:07 +0000
Subject: [PATCH] ICU-6175 Test detecting empty segments in ISO-2022-x & HZ
 with UConverterCallbackReason==UCNV_IRREGULAR

X-SVN-Rev: 23572

revert d4774599b63f72c887cf449d02b3d1e5b0acc960

---
 source/test/cintltst/nucnvtst.c | 70 ---------------------------------
 1 file changed, 70 deletions(-)

diff --git a/source/test/cintltst/nucnvtst.c b/source/test/cintltst/nucnvtst.c
index 73e0fde..1f96ded 100644
--- a/source/test/cintltst/nucnvtst.c
+++ b/source/test/cintltst/nucnvtst.c
@@ -101,7 +101,6 @@ static void TestJitterbug2346(void);
 static void TestJitterbug2411(void);
 static void TestJB5275(void);
 static void TestJB5275_1(void);
-static void TestJitterbug6175(void);
 
 static void TestIsFixedWidth(void);
 #endif
@@ -329,7 +328,6 @@ void addTestNewConvert(TestNode** root)
 #if !UCONFIG_NO_LEGACY_CONVERSION
    addTest(root, &TestJitterbug2346, "tsconv/nucnvtst/TestJitterbug2346");
    addTest(root, &TestJitterbug2411, "tsconv/nucnvtst/TestJitterbug2411");
-   addTest(root, &TestJitterbug6175, "tsconv/nucnvtst/TestJitterbug6175");
 
    addTest(root, &TestIsFixedWidth, "tsconv/nucnvtst/TestIsFixedWidth");
 #endif
@@ -4591,74 +4589,6 @@ cleanup:
     free(offsets);
 }
 
-/* Tests for empty segments in ISO-2022-JP/KR/CN, HZ, check that UConverterCallbackReason is UCNV_IRREGULAR */
-typedef struct {
-    const char *    converterName;
-    const char *    inputText;
-    int             inputTextLength;
-} EmptySegmentTest;
-
-/* Callback for TestJitterbug6175, should only get called for empty segment errors */
-static void UCNV_TO_U_CALLBACK_EMPTYSEGMENT( const void *context, UConverterToUnicodeArgs *toArgs, const char* codeUnits,
-                                             int32_t length, UConverterCallbackReason reason, UErrorCode * err ) {
-    // suppress compiler warnings about unused variables
-    (void)context;
-    (void)codeUnits;
-    (void)length;
-    if (reason > UCNV_IRREGULAR) {
-        return;
-    }
-    if (reason != UCNV_IRREGULAR) {
-        log_err("toUnicode callback invoked for empty segment but reason is not UCNV_IRREGULAR\n");
-    }
-    /* Standard stuff below from UCNV_TO_U_CALLBACK_SUBSTITUTE */
-    *err = U_ZERO_ERROR;
-    ucnv_cbToUWriteSub(toArgs,0,err);
-}
-
-enum { kEmptySegmentToUCharsMax = 64 };
-static void TestJitterbug6175(void) {
-    static const char  iso2022jp_a[] = { 0x61, 0x62, 0x1B,0x24,0x42, 0x1B,0x28,0x42, 0x63, 0x64, 0x0D, 0x0A };
-    static const char  iso2022kr_a[] = { 0x1B,0x24,0x29,0x43, 0x61, 0x0E, 0x0F, 0x62, 0x0D, 0x0A };
-    static const char  iso2022cn_a[] = { 0x61, 0x1B,0x24,0x29,0x41, 0x62, 0x0E, 0x0F, 0x1B,0x24,0x2A,0x48, 0x1B,0x4E, 0x6A,0x65, 0x63, 0x0D, 0x0A };
-    static const char  iso2022cn_b[] = { 0x61, 0x1B,0x24,0x29,0x41, 0x62, 0x0E, 0x1B,0x24,0x29,0x47, 0x68,0x64, 0x0F, 0x63, 0x0D, 0x0A };
-    static const char  hzGB2312_a[]  = { 0x61, 0x62, 0x7E,0x7B, 0x7E,0x7D, 0x63, 0x64 };
-    static const EmptySegmentTest emptySegmentTests[] = {
-        /* converterName inputText    inputTextLength */
-        { "ISO-2022-JP", iso2022jp_a, sizeof(iso2022jp_a) },
-        { "ISO-2022-KR", iso2022kr_a, sizeof(iso2022kr_a) },
-        { "ISO-2022-CN", iso2022cn_a, sizeof(iso2022cn_a) },
-        { "ISO-2022-CN", iso2022cn_b, sizeof(iso2022cn_b) },
-        { "HZ-GB-2312",  hzGB2312_a,  sizeof(hzGB2312_a)  },
-        /* terminator: */
-        { NULL,          NULL,        0,                  }
-    };
-    const EmptySegmentTest * testPtr;
-    for (testPtr = emptySegmentTests; testPtr->converterName != NULL; ++testPtr) {
-        UErrorCode   err = U_ZERO_ERROR;
-        UConverter * cnv = ucnv_open(testPtr->converterName, &err);
-        if (U_FAILURE(err)) {
-            log_data_err("Unable to open %s converter: %s\n", testPtr->converterName, u_errorName(err));
-            return;
-        }
-        ucnv_setToUCallBack(cnv, UCNV_TO_U_CALLBACK_EMPTYSEGMENT, NULL, NULL, NULL, &err);
-        if (U_FAILURE(err)) {
-            log_data_err("Unable to setToUCallBack for %s converter: %s\n", testPtr->converterName, u_errorName(err));
-            ucnv_close(cnv);
-            return;
-        }
-        {
-            UChar         toUChars[kEmptySegmentToUCharsMax];
-            UChar *       toUCharsPtr = toUChars;
-            const UChar * toUCharsLimit = toUCharsPtr + kEmptySegmentToUCharsMax;
-            const char *  inCharsPtr = testPtr->inputText;
-            const char *  inCharsLimit = inCharsPtr + testPtr->inputTextLength;
-            ucnv_toUnicode(cnv, &toUCharsPtr, toUCharsLimit, &inCharsPtr, inCharsLimit, NULL, true, &err);
-        }
-        ucnv_close(cnv);
-    }
-}
-
 static void
 TestEBCDIC_STATEFUL(void) {
     /* test input */
-- 
2.33.0