GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Können wir die Speicherzuweisung einheitentesten?

Sie können für diese Funktion keinen Komponententest schreiben, da Sie ohne Systemaufruf keinen Speicher auf dem Heap zuweisen können. Daher ist dies ein Integrationstest, da Sie die zu testende Einheit nicht vom Betriebssystem isolieren können.

Ich würde eine neue, kleine ausführbare Datei erstellen, die allocation_routine aufruft für n Bytes. Je nachdem was allocation_routine zurückgeben soll, können Sie behaupten, dass es nicht nullptr ist . Schreiben Sie dann n Bytes in diesen Speicherbereich. Kompilieren und verknüpfen Sie es mit dem Address Sanitizer (verfügbar sowohl mit gcc und clang ), versuchen Sie dann, es in den Testrunner Ihrer Anwendung zu integrieren (ctest usw.).

Möglicherweise möchten Sie auch den verfügbaren Heap über das POSIX-Setrlimit einschränken, um das Verhalten zu überprüfen, wenn die Zuordnung fehlschlägt.


Linux
  1. Kann Test/Harness.pm Perl-Fehler nicht finden:[Lösung]

  2. Rsync-Ausschlussoption zum Ausschließen von Verzeichnis kann nicht abgerufen werden

  3. Wie teste ich, auf welchem ​​Port MySQL läuft und ob eine Verbindung möglich ist?

  4. Wie kann ich mein Bash-Skript auf älteren Bash-Versionen testen?

  5. -bash:Fork:Speicher kann nicht zugewiesen werden

Installation des RAM-Speichertesttools Memtest+ auf Redhat 7 Linux

Wie kann ich eine Funktion von einem Skript in der Befehlszeile ausführen?

Kann Linux Speicher bereinigen?

Wie kann ich die Speicherbandbreite beobachten?

Wie kann ich einen Speicherblock aus dem Linux-Kernel reservieren?

Testet memtest86+ Speicher, der verwendet wird, um sich selbst auszuführen?