Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test-unwind.py   Sprache: Python

 
# Test the unwinder and the frame filter.
# flake8:  NOQA: F821
import platform


def do_unwinder_test():
    # The unwinder is disabled by default for the moment. Turn it on to check
    # that the unwinder works as expected.
    import gdb

    gdb.execute("enable unwinder .* SpiderMonkey")

    run_fragment("unwind.simple""Something")

    first = True
    # The unwinder is a bit flaky still but should at least be able to
    # recognize one set of entry and exit frames.  This also tests to
    # make sure we didn't end up solely in the interpreter.
    found_entry = False
    found_exit = False
    found_main = False
    found_inner = False
    found_outer = False
    frames = list(gdb.frames.execute_frame_filters(gdb.newest_frame(), 0, -1))
    for frame in frames:
        print("examining " + frame.function())
        if first:
            assert_eq(frame.function().startswith("Something"), True)
            first = False
        elif frame.function() == "<>":
            found_exit = True
        elif frame.function() == "<>":
            found_entry = True
        elif frame.function() == "main":
            found_main = True
        elif "unwindFunctionInner" in frame.function():
            found_inner = True
        elif "unwindFunctionOuter" in frame.function():
            found_outer = True

    # Had to have found a frame.
    assert_eq(first, False)
    # Had to have found main.
    assert_eq(found_main, True)
    # Had to have found the entry and exit frames.
    assert_eq(found_exit, True)
    assert_eq(found_entry, True)
    # Had to have found the names of the two JS functions.
    assert_eq(found_inner, True)
    assert_eq(found_outer, True)


# Only on the right platforms.
if platform.machine() == "x86_64" and platform.system() == "Linux":
    # Only test when gdb has the unwinder feature.
    try:
        import gdb.unwinder  # NOQA: F401

        do_unwinder_test()
    except Exception:
        pass

Messung V0.5
C=89 H=96 G=92

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge