test_versions.sh 1.39 KB
Newer Older
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
#!/bin/sh

check()
{
    [ "$2" != "$3" ] && echo "FATAL with '$1': result '$3' do not match with '$2'" || echo "OK for '$1' with '$2'"
}

# 1.2.3.4.5 -> 1
normalize_version1()
{
    echo "$1" | sed -e "s|\..*||"
}

# 1.2.3.4.5 -> 1.2
normalize_version2()
{
    echo "$1" | sed -e "s|^\([^.][^.]*\.[^.][^.]*\)\..*|\1|"
}

# 1.2.3.4.5 -> 1.2.3
normalize_version3()
{
    echo "$1" | sed -e "s|^\([^.][^.]*\.[^.][^.]*\.[^.][^.]*\)\..*|\1|"
}


test1()
{
    check "$1" "$2" "$(normalize_version1 "$1")"
}

test2()
{
    check "$1" "$2" "$(normalize_version2 "$1")"
}

test3()
{
    check "$1" "$2" "$(normalize_version3 "$1")"
}

echo
echo " 1"
test1 1              1
test1 10             10
test1 10.1           10
test1 10.01          10
test1 1.1            1
test1 1.1.1          1
test1 1.2.3.4        1
test1 1.2.3.4.5      1
test1 123            123

echo
echo " 2"
test2 2.1            2.1
test2 2              2
test2 10             10
test2 10.1           10.1
test2 10.01          10.01
test2 1.1            1.1
test2 1.1.1          1.1
test2 1.2.3.4        1.2
test2 1.2.3.4.5      1.2
test2 123            123

echo
echo " 3"
test3 2.1            2.1
test3 2              2
test3 10             10
test3 10.1           10.1
test3 10.01          10.01
test3 1.1            1.1
test3 1.1.1          1.1.1
test3 1.2.3.4        1.2.3
test3 1.2.3.4.5      1.2.3
test3 1.2.3.4.5.6    1.2.3
test3 123            123