summaryrefslogtreecommitdiff
path: root/clang/qa/test-rename.sh
blob: b1b9a6df840d3ddfa0229a4b34fbfcae0b6d4f26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env bash

ok=0

test_assert_fail()
{
    if "$@" 2>/dev/null; then
        echo "Error: assertion failure in ${test_name}."
        exit 1
    fi
    ok=$(($ok+1))
}

test_assert_equal()
{
    if ! diff -u $1 $2; then
        echo "Error: assertion failure in ${test_name}."
        exit 1
    fi
    ok=$(($ok+1))
}

declare_rename_test()
{
    test_name="Rename::${1}"
    test_input="qa/data/${2}"
    test_output="qa/data/${2}.new-rename"
    test_expected="qa/data/${2}.expected"
}

declare_rename_test "testFieldDecl" "rename-field-decl.cxx"
bin/rename -old-name=C::nX -new-name=m_nX $test_input --
test_assert_equal $test_expected $test_output

# Do the same as previously, but trigger the csv parser this time.
declare_rename_test "testFieldDeclCsv" "rename-field-decl.cxx"
bin/rename -csv=qa/data/rename-field-decl.csv $test_input --
test_assert_equal $test_expected $test_output

# Test that we fail on non-existing -csv parameter.
declare_rename_test "testFieldDeclCsvFail" "rename-field-decl.cxx"
test_assert_fail bin/rename -csv=qa/data/rename-field-decl.cvs $test_input --

# Test that the first column can't be empty.
declare_rename_test "testFieldDeclCsvFailCol1Empty" "rename-field-decl.cxx"
test_assert_fail bin/rename -csv=qa/data/rename-field-decl.csv-emptycol1 $test_input --

# Test that the second column can't be empty.
declare_rename_test "testFieldDeclCsvFailCol2Empty" "rename-field-decl.cxx"
test_assert_fail bin/rename -csv=qa/data/rename-field-decl.csv-emptycol2 $test_input --

# Test that rename fails without options.
declare_rename_test "testFieldDeclCsvFailNoopt" "rename-field-decl.cxx"
test_assert_fail bin/rename qa/data/rename-field-decl.cxx --

# Test that rename dump creates no output
declare_rename_test "testFieldDeclDump" "rename-field-decl.cxx"
rm -f qa/data/rename-field-decl.cxx.new-rename
bin/rename -csv=qa/data/rename-field-decl.csv -dump qa/data/rename-field-decl.cxx -- 2>/dev/null
test_assert_fail test -f qa/data/rename-field-decl.cxx.new-rename

declare_rename_test "testVarDecl" "rename-var-decl.cxx"
bin/rename -old-name=C::aS -new-name=m_aS $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testVarDeclClass" "rename-var-decl-class.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXConstructorDecl" "rename-cxx-constructor-decl.cxx"
bin/rename -csv=qa/data/rename-cxx-constructor-decl.csv $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXConstructorDeclClass" "rename-cxx-constructor-decl-class.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testMemberExpr" "rename-member-expr.cxx"
bin/rename -old-name=C::nX -new-name=m_nX $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testDeclRefExpr" "rename-decl-ref-expr.cxx"
bin/rename -old-name=C::aS -new-name=m_aS $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXMethodDecl" "rename-cxx-method-decl.cxx"
bin/rename -old-name=C::foo -new-name=bar $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXConstructExpr" "rename-cxx-constructor-expr.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXStaticCastExpr" "rename-cxx-static-cast-expr.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXDynamicCastExpr" "rename-cxx-dynamic-cast-expr.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXReinterpretCastExpr" "rename-cxx-reinterpret-cast-expr.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXConstCastExpr" "rename-cxx-const-cast-expr.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testCXXDestructorDecl" "rename-cxx-destructor-decl.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output

declare_rename_test "testMoveFromGlobal" "rename-move-from-global.cxx"
bin/rename -old-name=C -new-name=ns::C $test_input --
test_assert_equal $test_expected $test_output

echo "OK ($ok)"

# vi:set shiftwidth=4 expandtab: