GNU/Linux >> Belajar Linux >  >> Linux

Bisakah kita menguji alokasi memori?

Anda tidak dapat menulis pengujian unit untuk fungsi ini, karena Anda tidak dapat mengalokasikan memori di heap tanpa panggilan sistem. Oleh karena itu, ini adalah pengujian integrasi, karena Anda tidak dapat mengisolasi unit yang diuji dari sistem operasi.

Saya akan membuat executable kecil baru yang memanggil allocation_routine untuk n byte. Tergantung allocation_routine apa seharusnya dikembalikan, Anda dapat menegaskan bahwa itu bukan-nullptr . Lalu, tulis n byte ke wilayah memori ini. Kompilasi dan tautkan menggunakan pembersih alamat (tersedia dengan gcc dan clang ), lalu coba integrasikan ke dalam runner pengujian aplikasi Anda (ctest dll.).

Anda mungkin juga ingin membatasi heap yang tersedia melalui setrlimit POSIX untuk memverifikasi perilaku saat alokasi gagal.


Linux
  1. Tidak dapat menemukan Test/Harness.pm perl Error:[Solution]

  2. Systemd:Tidak Dapat Menonaktifkan File Unit yang Dihasilkan?

  3. Bagaimana saya bisa mengukur penggunaan memori sebenarnya dari suatu aplikasi atau proses?

  1. Apakah alokasi memori di linux tidak memblokir?

  2. Bagaimana saya bisa menjalankan fungsi dari skrip di baris perintah?

  3. Bisakah Linux menggosok memori?

  1. Bisakah saya menguji jaringan saya sendiri?

  2. Bagaimana saya bisa menguji RAM untuk kerusakan data pada sistem berbasis ARM?

  3. Bagaimana cara kerja alokasi tumpukan di Linux?