Lua テストスイート

お使いのLuaリリースに対応するテストスイートをダウンロードし、以下の手順に従って基本テスト完全テスト内部テストを実行してください。

お使いのLuaリリースと正確に一致するテストスイートがない場合は、同じバージョンの最も近いLuaリリースのスイートをダウンロードしてください。異なるバージョン間ではスイートは動作しません。

テストスイートは製品ではなく、内部使用のためのツールです。皆様からの要望にお応えして公開していますが、いかなるサポートも提供できません。自己責任でご利用ください。

すべてのファイルは、このライセンスの下で配布されています。パッケージの整合性を確認するために、チェックサムを確認してください。

ファイル

ファイル名 日付 サイズ チェックサム (sha256)
lua-5.4.6-tests.tar.gz 2023-05-02 136212 63ed5f5bcfd15dfd2f72e04c2f8c10585bb8de9e558df62b335cb9e5c1a4ef34
lua-5.4.5-tests.tar.gz 2023-04-18 136198 856103e7298d354d870010b4966ce21281cbf3373abafd50231a98561bca793d
lua-5.4.4-tests.tar.gz 2022-01-13 134094 04d28355cd67a2299dfe5708b55a0ff221ccb1a3907a3113cc103ccc05ac6aad
lua-5.4.3-tests.tar.gz 2021-03-15 131911 5d29c3022897a8290f280ebe1c6853248dfa35a668e1fc02ba9c8cde4e7bf110
lua-5.4.2-tests.tar.gz 2020-11-13 128901 91bd3163fd237b2bd0bc99127fc25b4502f4526e17ac71a3df7c218e6b0798c0
lua-5.4.1-tests.tar.gz 2020-09-30 128646 1b3792d083ea36396927b223903e364a91cb017ed3cc16f14add380353751161
lua-5.4.0-tests.tar.gz 2020-06-18 126357 f611d324ff71578d760b96f3199baaa67a806acbf90568d5d37cc99b0df938b7
lua-5.3.4-tests.tar.gz 2016-12-22 103438 b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f
lua-5.3.3-tests.tar.gz 2016-05-30 102562 13154abc20976196119db531b4169ce1ce511755879d40b4192e4173291287e5
lua-5.3.2-tests.tar.gz 2015-11-25 101342 56909863a3713dee3709b3dbd0c868237e4f5c9ea1744f5bf0ba8bafa6c4ed32
lua-5.3.1-tests.tar.gz 2015-06-10 99638 57b3230dcadd04feb680959975228fd4b5a56b91366b729bea2f537d26a0734a
lua-5.3.0-tests.tar.gz 2015-01-05 96995 0c1ff46bf7d950023a189e32a6ce3fe83bc2fbce28187cc9b38ba056c733b267
lua-5.2.2-tests.tar.gz 2013-03-07 76629 07c1071c66d9cb4dc80200ed430fc21ebbbccf1f55148b87eb0b9522932e4eb6
lua-5.2.1-tests.tar.gz 2012-07-02 76093 2346d635ee392c8d8024b07beaa10b7b66a3f861c41d575753d03155751cf114
lua-5.2.0-tests.tar.gz 2011-12-12 75065 a674018a197fa65954de0c3e8f68621c183c405a338c817d4d9d932efe14b2cf
lua5.1-tests.tar.gz 2016-01-18 55127 49e4ca6561f82ea605908c5041ab5fad66ed9930fa0686675bd51b02767f18ad

基本テスト

テストスイートを適当な場所に展開します。 `lua-x.y.z-tests`という名前のディレクトリがあり、いくつかの`.lua`ファイルとサブディレクトリが含まれています。

基本的なテストを実行するには、このディレクトリに移動し、以下のコマンドを実行します。

    path/lua -e"_U=true" all.lua
テストするLuaのリリースと正確に一致するバージョンを実行してください。不明な場合は、lua -vを実行して出力を確認してください。リリース番号が一致しない場合は、明示的なパスを指定する必要があります。

テストは多くのメッセージを出力しますが、アサーションが失敗するべきではありません。テストが最後まで実行され、`final OK`というメッセージが表示された場合は、すべて正常に実行されました。

Luaは本質的に基盤となる標準Cライブラリに大きく依存していることに注意してください。 場合によっては、これらの基盤となるCライブラリがANSI標準に準拠していないため、テストスイートが失敗することがあります。これについては、あまり対処できることがありません。

完全テスト

テストスイートは、いくつかのテストの実行を制御するためにいくつかの変数を使用します。グローバル変数`_U`を定義する(例えば、上記の基本テストのようにコマンドラインで`-e"_U=true"`オプションを使用する)ことで、完全には移植性がなく、メモリ消費の多いテストをスキップします。このオプションは、実行されなかったテストのメッセージも抑制します。基本テストは、変更を加えずにコンパイルされたLuaを使用するシステムであれば、問題なく動作するはずです。

完全なテストスイート(つまり、`_U`オプションを使用しない場合)は、システム依存の部分も含め、言語、ライブラリ、C APIのあらゆる部分をテストしようとします。Lua自体とは異なり、これらのテストは移植性、小さなフットプリント、使いやすさを目的としていません。主な目標はLuaをクラッシュさせることです。一般使用を目的としたものではありません。ご利用いただいて構いませんが、困難を覚悟してください。

完全なスイートを実行するには、まず、テストディレクトリに`libs/`と`libs/P1/`のサブディレクトリがあることを確認し、`libs/`サブディレクトリに移動して、提供されているMakefile(またはシステムの同等物)を使用してCライブラリをビルドします。その後、トップレベルのテストディレクトリで以下のコマンドを実行して、完全なテストスイートを実行できます。

    path/lua all.lua
再度、正しいリリースのLuaを実行していることを確認してください。

初回で動作しなくても心配しないでください。(それが`_U`オプションが存在する理由です)。システムに合わせて細かい調整が必要になる場合があります。問題が発生する可能性のあるものには、以下が含まれます。

内部テスト

さらに難しいテストのために、テストスイートはLuaのいくつかの内部構造にアクセスできる特別なライブラリ`testC`を使用します。このライブラリは、以下に説明するデバッグモードでLuaをコンパイルした場合にのみ使用できます。

これらの内部テストを実行する場合は、`ltests`ディレクトリから`ltests.c`と`ltests.h`をソースLuaファイルのあるディレクトリにコピーし、`-DLUA_USER_H='"ltests.h"'`オプション(または`LUA_USER_H`を文字列`"ltests.h"`として定義する同等のもの、引用符を含む)を使用してLuaを再コンパイルします。このオプションはtestCライブラリを追加し、他のいくつかの内部テストも有効にします。再コンパイル後、これまでと同様にテストを実行します。再度、困難を覚悟してください。

幸運を祈ります!