#3925 encoding-11.1 fails with -singleproc 1

obsolete: 8.5.1
Don Porter

make test TESTFLAGS="-singleproc 1 -file 'chanio.test encoding.test'"

leads to:

==== encoding-11.1 LoadEncodingFile: unknown encoding FAILED
==== Contents of test case:

set system [encoding system]
set path [encoding dirs]
encoding system iso8859-1
encoding dirs {}
set x [list [catch {encoding convertto jis0208 \u4e4e} msg] $msg]
encoding dirs $path
encoding system $system
lappend x [encoding convertto jis0208 \u4e4e]

---- Result was:
0 8C 8C
---- Result should have been (exact matching):
1 {unknown encoding "jis0208"} 8C
==== encoding-11.1 FAILED

The problem is that encoding-11.1 assumes
the jis0208 encoding has not been loaded,
while the tests chan-io-3.* make use of
the encoding, so when both test files run
in a common executable, the assumption
is false. The encoding has already been
loaded for sake of those prior tests.

This seems to mostly be a flaw in encoding-11.1
relying on a precondition it does not confirm.
To a lesser extent it can be seen as a failure
of chanio.test to clean up after itself.


  • Don Porter

    Don Porter - 2008-03-12

    Logged In: YES
    Originator: YES

    This is fixed on the HEAD.

  • Don Porter

    Don Porter - 2008-03-12
    • assigned_to: msofer --> das
    • status: open --> pending-fixed
  • Daniel A. Steffen

    Logged In: YES
    Originator: NO

    oops, thanks, hadn't seen this report, updated ChangeLog with bug ref.

    the cause of the problem was in fact that LoadEscapeEncoding() was leaking sub-encodings, i.e. they remained loaded after the escaped encoding was freed.
    for instance, make test TESTFLAGS='-singleproc 1 -match "chan-io-1.8 encoding-11.1"' was failing because chan-io-1.8 loads the 'iso2022-jp' escaped encoding which leaked the 'jis0208' sub-encoding, leading to encoding-11.1 seeing it as being loaded even with emtpy [encoding dirs].

  • Daniel A. Steffen

    • status: pending-fixed --> closed-fixed

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks