GNU/Linux >> Linux の 問題 >  >> Linux

メモリ割り当てを単体テストできますか?

システム コールなしではヒープにメモリを割り当てることができないため、この関数の単体テストを作成することはできません。したがって、テスト対象のユニットをオペレーティング システムから分離できないため、これは統合テストです。

allocation_routine を呼び出す新しい小さな実行可能ファイルを作成します。 n の場合 バイト。 allocation_routine に応じて nullptr 以外であると断言できます。 .次に、 n と書きます バイトをこのメモリ領域に挿入します。 アドレスサニタイザーを使用してコンパイルおよびリンクします (両方の gcc で利用可能 および clang )、それをアプリケーションのテスト ランナーに統合してみてください (ctest など)

割り当てが失敗したときの動作を確認するために、POSIX setrlimit を介して利用可能なヒープを制限することもできます。


Linux
  1. Test / Harness.pm perlエラーが見つかりません:[解決策]

  2. アプリケーションまたはプロセスの実際のメモリ使用量を測定するにはどうすればよいですか?

  3. Linuxのメモリ割り当てはノンブロッキングですか?

  1. MySQL が実行されているポートと、接続できるかどうかをテストする方法は?

  2. コマンドラインでスクリプトから関数を実行するにはどうすればよいですか?

  3. 自分のネットワークをテストできますか?

  1. ARM ベースのシステムで RAM のデータ破損をテストするにはどうすればよいですか?

  2. Linux でスタック割り当てはどのように機能しますか?

  3. Docker-compose:sudo なしではビルドできませんが、sudo なしでコンテナーを実行できます