tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_basic.py (2075B)


      1 #!/usr/bin/env python
      2 # coding=UTF-8
      3 
      4 from os import walk
      5 
      6 import mozunit
      7 import pytest
      8 
      9 
     10 def test_no_dump_files(check_for_crashes):
     11    """Test that check_for_crashes returns 0 if no dumps are present."""
     12    assert 0 == check_for_crashes()
     13 
     14 
     15 @pytest.mark.parametrize("minidump_files", [3], indirect=True)
     16 def test_dump_count(check_for_crashes, minidump_files):
     17    """Test that check_for_crashes returns the number of crash dumps."""
     18    assert 3 == check_for_crashes()
     19 
     20 
     21 def test_dump_directory_unicode(request, check_for_crashes, tmpdir, capsys):
     22    """Test that check_for_crashes can handle unicode in dump_directory."""
     23    from conftest import minidump_files
     24 
     25    tmpdir = tmpdir.ensure("🍪", dir=1)
     26    minidump_files = minidump_files(request, tmpdir)
     27 
     28    assert 1 == check_for_crashes(dump_directory=str(tmpdir), quiet=False)
     29 
     30    out, _ = capsys.readouterr()
     31    assert str(minidump_files[0]["dmp"]) in out
     32    assert "🍪" in out
     33 
     34 
     35 def test_test_name_unicode(check_for_crashes, minidump_files, capsys):
     36    """Test that check_for_crashes can handle unicode in dump_directory."""
     37    assert 1 == check_for_crashes(test_name="🍪", quiet=False)
     38 
     39    out, err = capsys.readouterr()
     40    assert "| 🍪" in out
     41 
     42 
     43 @pytest.mark.parametrize("keep", [True, False, None])
     44 def test_minidump_files_are_cleaned_up_or_preserved_in_original_location(
     45    request, check_for_crashes, tmpdir, keep
     46 ):
     47    from conftest import minidump_files
     48 
     49    tmpdir = tmpdir.ensure("test", dir=1)
     50    minidump_files = minidump_files(request, tmpdir)
     51 
     52    # Make sure that minidump files are present in the temporary location.
     53    minidump_files_in_dir = next(walk(tmpdir), (None, None, []))[2]
     54    assert len(minidump_files_in_dir) == 2
     55 
     56    check_for_crashes(dump_directory=str(tmpdir), quiet=False, keep=keep)
     57 
     58    # Make sure that minidump files are preserved if keep=True or
     59    # removed otherwise.
     60    minidump_files_in_dir = next(walk(tmpdir), (None, None, []))[2]
     61    assert len(minidump_files_in_dir) == (2 if keep is True else 0)
     62 
     63 
     64 if __name__ == "__main__":
     65    mozunit.main()