mc/tests
Yury V. Zaytsev 1e0e6b5e1e charset: rename IBM866 to CP866 for iconv and adjust charset names for codeset
```
linux $ iconv -l | grep 866
866//
866NAV//
CP866//
CP866NAV//
CSIBM866//
IBM866//
IBM866NAV//

solaris $ iconv -l | grep 866
    CP866 (CP866, CP-866, CP_866, 866),
    IBM-866,

macos % iconv -l | grep 866
CP866 866 CSIBM866 IBM866 MSCP866

musl/src/locale/codepages.h: "cp866\0"
```

On glibc-based systems, codeset will be set to charmap name, on most other systems it seems to be taken from locale name.

## Linux

```
zaytsev@fedora:~$ locale -a | grep ru
ru_RU
ru_RU.cp866
ru_RU.ibm866
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8

zaytsev@fedora:~/src$ LC_ALL=ru_RU.cp866 LANG=ru_RU.cp866 ./a.out
IBM866

zaytsev@fedora:~/src$ LC_ALL=ru_RU.koi8r LANG=ru_RU.koi8r ./a.out
KOI8-R

zaytsev@fedora:~/src$ LC_ALL=ru_RU.iso88595 LANG=ru_RU.iso88595 ./a.out
ISO-8859-5
```

## macOS

```
ru_RU.ISO8859-5
ru_RU.CP866
ru_RU.CP1251
ru_RU.UTF-8
ru_RU.KOI8-R
ru_RU

zaytsev@Yurys-MBP mc % LANG=ru_RU.CP866 LC_ALL=ru_RU.CP866 ./a.out
CP866

zaytsev@Yurys-MBP mc % LANG=ru_RU.ISO8859-5 LC_ALL=ru_RU.ISO8859-5 ./a.out
ISO8859-5
```

## FreeBSD

```
ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8

zaytsev@cfarm240:~ $ LANG=ru_RU.ISO8859-5 LC_ALL=ru_RU.ISO8859-5 ./a.out
ISO8859-5

zaytsev@cfarm240:~ $ LANG=ru_RU.CP866 LC_ALL=ru_RU.CP866 ./a.out
CP866
```

## Solaris

```
ru
ru.UTF-8
ru.koi8-r
ru_RU
ru_RU.ANSI1251
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8

zaytsev@gcc-solaris10:~/src$ LANG=ru_RU.ISO8859-5 LC_ALL=ru_RU.ISO8859-5 ./a.o>
ISO8859-5

zaytsev@gcc-solaris10:~/src$ LANG=ru.koi8-r LC_ALL=ru.koi8-r ./a.out
KOI8-R
```

## AIX

```
zaytsev@gcc111:[/home/zaytsev]locale -a
C
POSIX
en_US.8859-15
en_US.IBM-858
en_US.ISO8859-1
en_US

-bash-5.1$ LANG=en_US.ISO8859-1 LC_ALL=en_US.ISO8859-1 ./a.out
ISO8859-1
```

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2024-10-05 11:49:26 +02:00
..
lib charset: rename IBM866 to CP866 for iconv and adjust charset names for codeset 2024-10-05 11:49:26 +02:00
src Ticket #3972: fix test harness on Illumos by resolving shellcheck warnings 2024-10-05 11:49:26 +02:00
.gitignore tests: add .gitignore 2019-09-01 20:13:52 +03:00
Makefile.am Ticket #3708: fix usability problems with --enable-tests 2016-12-27 16:46:38 +04:00
mctest.h Indentation using GNU indent-2.2.13. 2024-06-02 12:49:13 +03:00
README Ticket #3708: fix usability problems with --enable-tests 2016-12-27 16:46:38 +04:00

Overview
--------

This tree contains unit tests.

To compile and run the tests, do 'make check' (either in the top folder,
or just in the folder containing the tests you're interested in).

IMPORTANT: To compile the tests, you need to have the "Check" unit
testing framework[1] installed.[2] If you have it installed, you will see
"Unit tests: yes" in configure's summary message; if you don't see this
message, you won't be able to compile the tests.[3]

Tips and tricks
---------------

* To be able to step with the debugger into test code, see [4]. E.g., do:

    $ export CK_FORK=no

[1]: http://libcheck.github.io/check/
[2]: Your package manager likely has it.
[3]: Actually, some tests (like src/vfs/extfs/helpers-list) don't use
     this framework and will compile just fine. But that's the exception.
[4]: http://stackoverflow.com/questions/1649814/debugging-unit-test-in-c-using-check