tomlplusplus/toml-test/README.md
Mark Gillard f3bd22bff4 fixed some incorrect handling of vertical whitespace when printing TOML to streams
also:
- added `date_time` converting constructors from `date` and `time`
- added `is_key<>` and is_key_or_convertible<>` metafunctions
- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios
- added encoder and decoder for `toml-test` (closes #125)
2022-01-03 21:01:32 +02:00

1.8 KiB
Raw Blame History

Encoder and Decoder for toml-test

The contents of this directory relate to testing with the toml-test suite, not anything to do with running the library's unit-tests. For information about running the unit-tests see CONTRIBUTING.


Prequisites

For this document to make sense, you will need to:

  1. Install some recent version of Go
  2. Follow the installation instructions from the toml-test README to compile the toml-test runner
  3. Add toml-test as an alias or have it on the system PATH
  4. Clone the toml++ repository's nlohmann/json submodule:
git submodule update --init --depth 1 external/json
  1. Linux only: Install ninja and meson:
sudo apt update && sudo apt install -y locales python3 python3-pip ninja-build
sudo pip3 install meson

Building and Testing the Encoder and Decoder

Commands in this section assume the starting directory is the toml++ repository root directory.

Windows with Visual Studio

Open toml++.sln and build the two projects in the toml-test solution folder. They'll be compiled in some target-specific subfolder under /bin in the repo root. Then run toml-test against them:

toml-test ./bin/win64_vc143_Release_Application/tt_decoder.exe
toml-test ./bin/win64_vc143_Release_Application/tt_encoder.exe --encoder

Linux (and WSL)

# create the meson build target folder (first time only)
meson build_tt --buildtype=release -Dbuild_tt_encoder=true -Dbuild_tt_decoder=true -Dgenerate_cmake_config=false

# build and run
cd build_tt
ninja && toml-test ./toml-test/tt_decoder && toml-test ./toml-test/tt_encoder --encoder