Beispiel #1
0
def test_DiffParser_parseTargetFile_with_prefix():
    actual = fastcov.DiffParser()._parseTargetFile('+++ b/dir2/file\n')
    assert actual == 'dir2/file'
    actual = fastcov.DiffParser()._parseTargetFile('+++ b/b/file\n')
    assert actual == 'b/file'
    actual = fastcov.DiffParser()._parseTargetFile('+++ bfile/b\n')
    assert actual == 'bfile/b'
Beispiel #2
0
def test_DiffParser_parseHunkBoundaries_count_missed():
    tstart,tlen, sstart, slen = fastcov.DiffParser()._parseHunkBoundaries('@@ -11 +13,14 @@ zero line  \n', 1)
    assert sstart == 11
    assert slen == 1
    assert tstart == 13
    assert tlen == 14

    tstart, tlen, sstart, slen = fastcov.DiffParser()._parseHunkBoundaries('@@ -11 +13 @@ zero line  \n', 1)
    assert sstart == 11
    assert slen == 1
    assert tstart == 13
    assert tlen == 1

    tstart, tlen, sstart, slen = fastcov.DiffParser()._parseHunkBoundaries('@@ -11,12 +13 @@ zero line  \n', 1)
    assert sstart == 11
    assert slen == 12
    assert tstart == 13
    assert tlen == 1
Beispiel #3
0
def test_DiffParser_filterByDiff_include_one_file_no_branches():
    with open('diff_tests_data/basic.json') as f:
        fastcov_data = json.load(f)
        fastcov.convertKeysToInt(fastcov_data)
    with open('diff_tests_data/include_1file_no_branches.expected.json') as f:
        expected = json.load(f)
        fastcov.convertKeysToInt(expected)
    actual = fastcov.DiffParser().filterByDiff('diff_tests_data/include_1file_no_branches.diff', '/mnt/workspace', fastcov_data)
    assert actual == expected
Beispiel #4
0
def test_DiffParser_filterByDiff_exclude_each_item():
    with open('diff_tests_data/basic.json') as f:
        fastcov_data = json.load(f)
        fastcov.convertKeysToInt(fastcov_data)
    with open('diff_tests_data/exclude_each_item.expected.json') as f:
        expected = json.load(f)
        fastcov.convertKeysToInt(expected)
    actual = fastcov.DiffParser().filterByDiff('diff_tests_data/exclude_each_item.diff', '/mnt/workspace', fastcov_data)
    assert actual == expected
Beispiel #5
0
def test_DiffParser_filterByDiff_include_no_lines():
    with open('diff_tests_data/basic.json') as f:
        fastcov_data = json.load(f)
    actual = fastcov.DiffParser().filterByDiff('diff_tests_data/include_no_lines.diff', '/mnt/workspace', fastcov_data)
    assert actual == {'sources': {}}
Beispiel #6
0
def test_DiffParser_parseDiffFile_few_files_with_few_modified_hunks():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/few_files_with_few_modified_hunks.diff', '/base')
    assert result == {"/base/test.txt":{2,3,4,5,6,7,8,9,10,25,26,27,28,29,30,31,32,33},
                      "/base/test2.txt":{10,11,12},
                      "/base/test3.txt":{2,3,4,22,23,24}
                      }
Beispiel #7
0
def test_DiffParser_parseDiffFile_file_renamed_and_edited():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/renamed_edited.diff', '/base')
    assert result == {'/base/test5.txt': {8}}
Beispiel #8
0
def test_DiffParser_parseDiffFile_file_deleted_added_check_other_base():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/file_del_mod_add_lines.diff', '/base/base2')
    assert result == {'/base/base2/test.txt': {4, 8}}
Beispiel #9
0
def test_DiffParser_parseDiffFile_deleted_file():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/deleted_file.diff', '/base')
    assert not result
Beispiel #10
0
def test_DiffParser_parseDiffFile_no_files():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/no_files.diff', '/base')
    assert not result
Beispiel #11
0
def test_DiffParser_parseDiffFile_last_hunk_shorter_than_expected():
    with pytest.raises(fastcov.DiffParseError) as e:
        result = fastcov.DiffParser().parseDiffFile('diff_tests_data/last_hunk_shorter_than_expected.diff', '/base')

    with pytest.raises(fastcov.DiffParseError) as e:
        result = fastcov.DiffParser().parseDiffFile('diff_tests_data/last_hunk_shorter_than_expected2.diff', '/base')
Beispiel #12
0
def test_DiffParser_parseHunkBoundaries_invalid_hunk():
    with pytest.raises(fastcov.DiffParseError) as e:
        fastcov.DiffParser()._parseHunkBoundaries('@@ 1112 @@ zero line  \n', 1)

    with pytest.raises(fastcov.DiffParseError) as e:
        fastcov.DiffParser()._parseHunkBoundaries('@@ @@ zero line  \n', 1)
Beispiel #13
0
def test_DiffParser_parseHunkBoundaries_usual():
    tstart,tlen, sstart, slen = fastcov.DiffParser()._parseHunkBoundaries('@@ -1,2 +3,4 @@ zero line  \n', 1)
    assert sstart == 1
    assert slen == 2
    assert tstart == 3
    assert tlen == 4
Beispiel #14
0
def test_DiffParser_parseTargetFile_with_timestamp():
    actual = fastcov.DiffParser()._parseTargetFile('+++ base/test_file.txt\t2002-02-21 23:30:39.942229878 -0800')
    assert actual == 'base/test_file.txt'
Beispiel #15
0
def test_DiffParser_parseTargetFile_empty():
    actual = fastcov.DiffParser()._parseTargetFile('+++ ')
    assert actual == ''
Beispiel #16
0
def test_DiffParser_parseDiffFile_bad_encoding():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/bad_encoding.diff', '/base')
    assert result == {'/base/test.txt': {4, 8}}
Beispiel #17
0
def test_DiffParser_parseDiffFile_empty():
    result = fastcov.DiffParser().parseDiffFile('diff_tests_data/empty.diff', '/base')
    assert not result
Beispiel #18
0
def test_DiffParser_parseTargetFile_usual():
    actual = fastcov.DiffParser()._parseTargetFile('+++ file1/tests   \n')
    assert actual == 'file1/tests'
    actual = fastcov.DiffParser()._parseTargetFile('+++ test2')
    assert actual == 'test2'