test list

This commit is contained in:
anil
2020-08-19 15:07:37 +02:00
parent bfcd2aacc5
commit cb293de686
242 changed files with 370216 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
## Running `gmp` bugs
After running the container you need to follow the following
steps to prepare `SOSRepair` for running:
1. Copy `makeout`, `compile.sh`, `test.sh` and `tests-list` to
the container's `/experiment/`.
2. Copy `settings.py` to the container's `/opt/sosrepair/sosrepair`.
3. In the container, reconfigure the project with coverage flags:
```
cd /experiment/src
./configure "CFLAGS=-fprofile-arcs -ftest-coverage" "CXXFLAGS=-fprofile-arcs -ftest-coverage" "LDFLAGS=-lgcov --coverage"
make clean
make
```
4. Run `/opt/sosrepair/prepare/setup.sh`.
5. Set proper permissions by running `sudo chmod -R 777 /opt/sosrepair/sosrepair`.
6. Setup environment variables:
```
export PYTHONPATH="/opt/sosrepair/bindings:${PYTHONPATH}"
export CPATH=":/opt/sosrepair/include"
export PATH="/opt/sosrepair/bin:$PATH"
```
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
cd $DIR/src
#make clean
(make && exit 0)|| exit 1
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
CONTAINER=$1
BUG=$2
docker cp compile.sh $CONTAINER:/experiment/
docker cp $BUG/test.sh $CONTAINER:/experiment/
docker cp $BUG/tests-list.txt $CONTAINER:/experiment/
docker cp $BUG/settings.py $CONTAINER:/opt/sosrepair/sosrepair/
@@ -0,0 +1,3 @@
For running SOS+ on this bug, we manually helped in finding
correct set of live variables. Number of live variables are
very high. So we limit that to `b2p`, `n`, `rp`, and `tp`.
@@ -0,0 +1,83 @@
"""
This file includes all the settings that could be modified for running SearchRepair/SOSRepair
* LIBCLANG_PATH: The path to libclang build. It should be either a .so or .dylib file.
* GENERATE_DB_PATH: The path where the DB should be built from. SR will enumerate all C files in this path to build the
DB
* Z3_COMMAND: The z3 command on this machine.
* LARGEST_SNIPPET: The maximum number of lines that is considered as a snippet.
* SMALLEST_SNIPPET: The minimum number of lines that is considered as a snippet.
* DATABASE: Information about the database.
* LOGGING: Settings for logging.
* MAX_SUSPICIOUS_LINES: The number of suspicious lines tried before giving up.
* VALID_TYPES: The variable types that are right now supported by SR.
------ Settings related to file under repair -------
* TESTS_LIST: The path to a list of the tests that could be run on the file
* TEST_SCRIPT: The path to a script that will run the test
* COMPILE_SCRIPT: The path to a script that will compile the code
* FAULTY_CODE: The path to the faulty code (a C file)
* COMPILE_EXTRA_ARGS: The list of necessary arguments that should be passed to clang to properly parse the code
* MAKE_OUTPUT: The output of running `make` stored in a file (for the purpose of finding necessary arguments for compilation
automatically)
* METHOD_RANGE: The tuple of beginning and end of method with the fault (limits the search to the area)
* SOSREPAIR: If set to False it will only run SearchRepair features
* NUMBER_OF_TIMES_RERUNNING_TESTS: The number of times that the tests should be run to assure patch's correctness
* EXCLUDE_SCANF: If removing/replacing scanf in buggy code is going to be a problem, set this to True
"""
__author__ = 'Afsoon Afzal'
import logging
LIBCLANG_PATH = '/opt/sosrepair/llvm/lib/libclang.so'
GENERATE_DB_PATH = '/experiment/src'
Z3_COMMAND = '/opt/sosrepair/bin/z3'
LARGEST_SNIPPET = 7
SMALLEST_SNIPPET = 3
DATABASE = {
'db_name': 'testdocker',
'user': 'docker',
'password': '1234'
}
LOGGING = {
'filename': 'logs/repair.log',
'level': logging.DEBUG
}
logging.basicConfig(**LOGGING)
MAX_SUSPICIOUS_LINES = 10
VALID_TYPES = ['int', 'short', 'long', 'char', 'float', 'double', 'long long', 'size_t']
TESTS_LIST = "/experiment/tests-list.txt"
TEST_SCRIPT = "/experiment/test.sh"
TEST_SCRIPT_TYPE = "/bin/bash"
COMPILE_SCRIPT = "/experiment/compile.sh"
FAULTY_CODE = "/experiment/src/mpn/generic/powm.c"
COMPILE_EXTRA_ARGS = [
"-I/experiment/src",
"-I/usr/include",
]
MAKE_OUTPUT = "/experiment/makeout"
METHOD_RANGE = (144, 483)
# IF SOS+
# METHOD_RANGE = (212, 213)
SOSREPAIR = True
NUMBER_OF_TIMES_RERUNNING_TESTS = 1
EXCLUDE_SCANF = False
BULK_RUN_PATH = ""
GCOV_OBJECTS = "/experiment/src/mpn/.libs/"
+165
View File
@@ -0,0 +1,165 @@
#!/bin/bash
run_abbrev=False
bugrev=13420
time_limit=25
dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
run_test()
{
cd $dir/src
../gmp-run-tests.pl $1 $run_abbrev
if [ $? = 0 ] ; then
echo ""
echo "PASS"
else
echo ""
echo "FAIL"
fi
popd > /dev/null
return 0
}
case $1 in
p1) run_test 1 && exit 0 ;;
p2) run_test 2 && exit 0 ;;
p3) run_test 3 && exit 0 ;;
p4) run_test 4 && exit 0 ;;
p5) run_test 5 && exit 0 ;;
p6) run_test 6 && exit 0 ;;
p7) run_test 7 && exit 0 ;;
p8) run_test 8 && exit 0 ;;
p9) run_test 9 && exit 0 ;;
p10) run_test 10 && exit 0 ;;
p11) run_test 11 && exit 0 ;;
p12) run_test 12 && exit 0 ;;
p13) run_test 13 && exit 0 ;;
p14) run_test 14 && exit 0 ;;
p15) run_test 15 && exit 0 ;;
p16) run_test 16 && exit 0 ;;
p17) run_test 17 && exit 0 ;;
p18) run_test 18 && exit 0 ;;
p19) run_test 19 && exit 0 ;;
p20) run_test 20 && exit 0 ;;
p21) run_test 21 && exit 0 ;;
p22) run_test 22 && exit 0 ;;
p23) run_test 23 && exit 0 ;;
p24) run_test 24 && exit 0 ;;
p25) run_test 25 && exit 0 ;;
p26) run_test 26 && exit 0 ;;
p27) run_test 27 && exit 0 ;;
p28) run_test 28 && exit 0 ;;
p29) run_test 29 && exit 0 ;;
p30) run_test 31 && exit 0 ;;
p31) run_test 32 && exit 0 ;;
p32) run_test 33 && exit 0 ;;
p33) run_test 35 && exit 0 ;;
p34) run_test 36 && exit 0 ;;
p35) run_test 37 && exit 0 ;;
p36) run_test 39 && exit 0 ;;
p37) run_test 40 && exit 0 ;;
p38) run_test 41 && exit 0 ;;
p39) run_test 42 && exit 0 ;;
p40) run_test 43 && exit 0 ;;
p41) run_test 44 && exit 0 ;;
p42) run_test 45 && exit 0 ;;
p43) run_test 46 && exit 0 ;;
p44) run_test 47 && exit 0 ;;
p45) run_test 48 && exit 0 ;;
p46) run_test 49 && exit 0 ;;
p47) run_test 50 && exit 0 ;;
p48) run_test 51 && exit 0 ;;
p49) run_test 52 && exit 0 ;;
p50) run_test 53 && exit 0 ;;
p51) run_test 54 && exit 0 ;;
p52) run_test 55 && exit 0 ;;
p53) run_test 56 && exit 0 ;;
p54) run_test 57 && exit 0 ;;
p55) run_test 58 && exit 0 ;;
p56) run_test 59 && exit 0 ;;
p57) run_test 60 && exit 0 ;;
p58) run_test 61 && exit 0 ;;
p59) run_test 62 && exit 0 ;;
p60) run_test 63 && exit 0 ;;
p61) run_test 64 && exit 0 ;;
p62) run_test 65 && exit 0 ;;
p63) run_test 66 && exit 0 ;;
p64) run_test 67 && exit 0 ;;
p65) run_test 68 && exit 0 ;;
p66) run_test 69 && exit 0 ;;
p67) run_test 70 && exit 0 ;;
p68) run_test 71 && exit 0 ;;
p69) run_test 72 && exit 0 ;;
p70) run_test 73 && exit 0 ;;
p71) run_test 74 && exit 0 ;;
p72) run_test 75 && exit 0 ;;
p73) run_test 76 && exit 0 ;;
p74) run_test 77 && exit 0 ;;
p75) run_test 78 && exit 0 ;;
p76) run_test 79 && exit 0 ;;
p77) run_test 80 && exit 0 ;;
p78) run_test 81 && exit 0 ;;
p79) run_test 82 && exit 0 ;;
p80) run_test 83 && exit 0 ;;
p81) run_test 84 && exit 0 ;;
p82) run_test 85 && exit 0 ;;
p83) run_test 86 && exit 0 ;;
p84) run_test 87 && exit 0 ;;
p85) run_test 88 && exit 0 ;;
p86) run_test 89 && exit 0 ;;
p87) run_test 90 && exit 0 ;;
p88) run_test 91 && exit 0 ;;
p89) run_test 92 && exit 0 ;;
p90) run_test 93 && exit 0 ;;
p91) run_test 94 && exit 0 ;;
p92) run_test 95 && exit 0 ;;
p93) run_test 96 && exit 0 ;;
p94) run_test 97 && exit 0 ;;
p95) run_test 98 && exit 0 ;;
p96) run_test 99 && exit 0 ;;
p97) run_test 100 && exit 0 ;;
p98) run_test 101 && exit 0 ;;
p99) run_test 102 && exit 0 ;;
p100) run_test 103 && exit 0 ;;
p101) run_test 104 && exit 0 ;;
p102) run_test 105 && exit 0 ;;
p103) run_test 106 && exit 0 ;;
p104) run_test 107 && exit 0 ;;
p105) run_test 108 && exit 0 ;;
p106) run_test 109 && exit 0 ;;
p107) run_test 110 && exit 0 ;;
p108) run_test 111 && exit 0 ;;
p109) run_test 112 && exit 0 ;;
p110) run_test 113 && exit 0 ;;
p111) run_test 114 && exit 0 ;;
p112) run_test 115 && exit 0 ;;
p113) run_test 116 && exit 0 ;;
p114) run_test 117 && exit 0 ;;
p115) run_test 118 && exit 0 ;;
p116) run_test 119 && exit 0 ;;
p117) run_test 120 && exit 0 ;;
p118) run_test 121 && exit 0 ;;
p119) run_test 122 && exit 0 ;;
p120) run_test 123 && exit 0 ;;
p121) run_test 124 && exit 0 ;;
p122) run_test 125 && exit 0 ;;
p123) run_test 126 && exit 0 ;;
p124) run_test 127 && exit 0 ;;
p125) run_test 128 && exit 0 ;;
p126) run_test 129 && exit 0 ;;
p127) run_test 130 && exit 0 ;;
p128) run_test 131 && exit 0 ;;
p129) run_test 132 && exit 0 ;;
p130) run_test 133 && exit 0 ;;
p131) run_test 134 && exit 0 ;;
p132) run_test 135 && exit 0 ;;
p133) run_test 136 && exit 0 ;;
p134) run_test 139 && exit 0 ;;
p135) run_test 140 && exit 0 ;;
p136) run_test 141 && exit 0 ;;
p137) run_test 142 && exit 0 ;;
p138) run_test 143 && exit 0 ;;
p139) run_test 144 && exit 0 ;;
p140) run_test 146 && exit 0 ;;
n1) run_test 30 && exit 0 ;;
n2) run_test 34 && exit 0 ;;
n3) run_test 38 && exit 0 ;;
esac
exit 1
@@ -0,0 +1,140 @@
n1
n2
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16
p17
p18
p19
p20
p21
p22
p23
p24
p25
p26
p27
p28
p29
p30
p31
p32
p33
p34
p36
p37
p38
p39
p40
p41
p42
p43
p44
p46
p47
p48
p49
p50
p51
p52
p53
p54
p55
p56
p57
p58
p59
p60
p61
p62
p63
p64
p65
p66
p67
p68
p69
p70
p71
p72
p73
p74
p75
p76
p77
p78
p79
p80
p81
p82
p83
p84
p85
p86
p87
p88
p89
p90
p91
p92
p93
p94
p95
p96
p97
p98
p99
p100
p101
p102
p103
p104
p105
p106
p107
p108
p109
p110
p111
p112
p113
p114
p115
p116
p117
p118
p119
p120
p121
p122
p123
p124
p125
p126
p127
p128
p129
p130
p131
p132
p133
p134
p135
p136
p137
p138
p139
p140
@@ -0,0 +1,83 @@
"""
This file includes all the settings that could be modified for running SearchRepair/SOSRepair
* LIBCLANG_PATH: The path to libclang build. It should be either a .so or .dylib file.
* GENERATE_DB_PATH: The path where the DB should be built from. SR will enumerate all C files in this path to build the
DB
* Z3_COMMAND: The z3 command on this machine.
* LARGEST_SNIPPET: The maximum number of lines that is considered as a snippet.
* SMALLEST_SNIPPET: The minimum number of lines that is considered as a snippet.
* DATABASE: Information about the database.
* LOGGING: Settings for logging.
* MAX_SUSPICIOUS_LINES: The number of suspicious lines tried before giving up.
* VALID_TYPES: The variable types that are right now supported by SR.
------ Settings related to file under repair -------
* TESTS_LIST: The path to a list of the tests that could be run on the file
* TEST_SCRIPT: The path to a script that will run the test
* COMPILE_SCRIPT: The path to a script that will compile the code
* FAULTY_CODE: The path to the faulty code (a C file)
* COMPILE_EXTRA_ARGS: The list of necessary arguments that should be passed to clang to properly parse the code
* MAKE_OUTPUT: The output of running `make` stored in a file (for the purpose of finding necessary arguments for compilation
automatically)
* METHOD_RANGE: The tuple of beginning and end of method with the fault (limits the search to the area)
* SOSREPAIR: If set to False it will only run SearchRepair features
* NUMBER_OF_TIMES_RERUNNING_TESTS: The number of times that the tests should be run to assure patch's correctness
* EXCLUDE_SCANF: If removing/replacing scanf in buggy code is going to be a problem, set this to True
"""
__author__ = 'Afsoon Afzal'
import logging
LIBCLANG_PATH = '/opt/sosrepair/llvm/lib/libclang.so'
GENERATE_DB_PATH = '/experiment/src'
Z3_COMMAND = '/opt/sosrepair/bin/z3'
LARGEST_SNIPPET = 7
SMALLEST_SNIPPET = 3
DATABASE = {
'db_name': 'testdocker',
'user': 'docker',
'password': '1234'
}
LOGGING = {
'filename': 'logs/repair.log',
'level': logging.DEBUG
}
logging.basicConfig(**LOGGING)
MAX_SUSPICIOUS_LINES = 10
VALID_TYPES = ['int', 'short', 'long', 'char', 'float', 'double', 'long long', 'size_t']
TESTS_LIST = "/experiment/tests-list.txt"
TEST_SCRIPT = "/experiment/test.sh"
TEST_SCRIPT_TYPE = "/bin/bash"
COMPILE_SCRIPT = "/experiment/compile.sh"
FAULTY_CODE = "/experiment/src/mpz/gcdext.c"
COMPILE_EXTRA_ARGS = [
"-I/experiment/src",
"-I/usr/include",
]
MAKE_OUTPUT = "/experiment/makeout"
METHOD_RANGE = (29, 119)
# IF SOS+
# METHOD_RANGE = (56, 57)
SOSREPAIR = True
NUMBER_OF_TIMES_RERUNNING_TESTS = 1
EXCLUDE_SCANF = False
BULK_RUN_PATH = ""
GCOV_OBJECTS = "/experiment/src/mpz/.libs"
+167
View File
@@ -0,0 +1,167 @@
#!/bin/bash
run_abbrev=False
bugrev=13420
time_limit=25
dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
run_test()
{
cd $dir/src
../gmp-run-tests.pl $1 $run_abbrev
if [ $? = 0 ] ; then
echo ""
echo "PASS"
else
echo ""
echo "FAIL"
fi
popd > /dev/null
return 0
}
case $1 in
p1) run_test 1 && exit 0 ;;
p2) run_test 2 && exit 0 ;;
p3) run_test 3 && exit 0 ;;
p4) run_test 4 && exit 0 ;;
p5) run_test 5 && exit 0 ;;
p6) run_test 6 && exit 0 ;;
p7) run_test 7 && exit 0 ;;
p8) run_test 8 && exit 0 ;;
p9) run_test 9 && exit 0 ;;
p10) run_test 10 && exit 0 ;;
p11) run_test 11 && exit 0 ;;
p12) run_test 12 && exit 0 ;;
p13) run_test 13 && exit 0 ;;
p14) run_test 14 && exit 0 ;;
p15) run_test 15 && exit 0 ;;
p16) run_test 16 && exit 0 ;;
p17) run_test 17 && exit 0 ;;
p18) run_test 18 && exit 0 ;;
p19) run_test 20 && exit 0 ;;
p20) run_test 21 && exit 0 ;;
p21) run_test 22 && exit 0 ;;
p22) run_test 23 && exit 0 ;;
p23) run_test 24 && exit 0 ;;
p24) run_test 25 && exit 0 ;;
p25) run_test 26 && exit 0 ;;
p26) run_test 27 && exit 0 ;;
p27) run_test 28 && exit 0 ;;
p28) run_test 29 && exit 0 ;;
p29) run_test 30 && exit 0 ;;
p30) run_test 31 && exit 0 ;;
p31) run_test 32 && exit 0 ;;
p32) run_test 33 && exit 0 ;;
p33) run_test 34 && exit 0 ;;
p34) run_test 35 && exit 0 ;;
p35) run_test 36 && exit 0 ;;
p36) run_test 37 && exit 0 ;;
p37) run_test 38 && exit 0 ;;
p38) run_test 39 && exit 0 ;;
p39) run_test 40 && exit 0 ;;
p40) run_test 41 && exit 0 ;;
p41) run_test 42 && exit 0 ;;
p42) run_test 43 && exit 0 ;;
p43) run_test 44 && exit 0 ;;
p44) run_test 45 && exit 0 ;;
p45) run_test 46 && exit 0 ;;
p46) run_test 47 && exit 0 ;;
p47) run_test 48 && exit 0 ;;
p48) run_test 49 && exit 0 ;;
p49) run_test 50 && exit 0 ;;
p50) run_test 52 && exit 0 ;;
p51) run_test 53 && exit 0 ;;
p52) run_test 54 && exit 0 ;;
p53) run_test 55 && exit 0 ;;
p54) run_test 56 && exit 0 ;;
p55) run_test 57 && exit 0 ;;
p56) run_test 58 && exit 0 ;;
p57) run_test 59 && exit 0 ;;
p58) run_test 60 && exit 0 ;;
p59) run_test 61 && exit 0 ;;
p60) run_test 62 && exit 0 ;;
p61) run_test 63 && exit 0 ;;
p62) run_test 64 && exit 0 ;;
p63) run_test 65 && exit 0 ;;
p64) run_test 66 && exit 0 ;;
p65) run_test 67 && exit 0 ;;
p66) run_test 68 && exit 0 ;;
p67) run_test 69 && exit 0 ;;
p68) run_test 70 && exit 0 ;;
p69) run_test 71 && exit 0 ;;
p70) run_test 72 && exit 0 ;;
p71) run_test 73 && exit 0 ;;
p72) run_test 74 && exit 0 ;;
p73) run_test 75 && exit 0 ;;
p74) run_test 76 && exit 0 ;;
p75) run_test 77 && exit 0 ;;
p76) run_test 78 && exit 0 ;;
p77) run_test 79 && exit 0 ;;
p78) run_test 80 && exit 0 ;;
p79) run_test 81 && exit 0 ;;
p80) run_test 82 && exit 0 ;;
p81) run_test 83 && exit 0 ;;
p82) run_test 84 && exit 0 ;;
p83) run_test 85 && exit 0 ;;
p84) run_test 86 && exit 0 ;;
p85) run_test 87 && exit 0 ;;
p86) run_test 88 && exit 0 ;;
p87) run_test 89 && exit 0 ;;
p88) run_test 90 && exit 0 ;;
p89) run_test 91 && exit 0 ;;
p90) run_test 92 && exit 0 ;;
p91) run_test 93 && exit 0 ;;
p92) run_test 94 && exit 0 ;;
p93) run_test 95 && exit 0 ;;
p94) run_test 96 && exit 0 ;;
p95) run_test 97 && exit 0 ;;
p96) run_test 98 && exit 0 ;;
p97) run_test 99 && exit 0 ;;
p98) run_test 100 && exit 0 ;;
p99) run_test 101 && exit 0 ;;
p100) run_test 102 && exit 0 ;;
p101) run_test 103 && exit 0 ;;
p102) run_test 104 && exit 0 ;;
p103) run_test 105 && exit 0 ;;
p104) run_test 106 && exit 0 ;;
p105) run_test 107 && exit 0 ;;
p106) run_test 108 && exit 0 ;;
p107) run_test 109 && exit 0 ;;
p108) run_test 110 && exit 0 ;;
p109) run_test 111 && exit 0 ;;
p110) run_test 112 && exit 0 ;;
p111) run_test 113 && exit 0 ;;
p112) run_test 114 && exit 0 ;;
p113) run_test 115 && exit 0 ;;
p114) run_test 116 && exit 0 ;;
p115) run_test 117 && exit 0 ;;
p116) run_test 118 && exit 0 ;;
p117) run_test 119 && exit 0 ;;
p118) run_test 120 && exit 0 ;;
p119) run_test 121 && exit 0 ;;
p120) run_test 122 && exit 0 ;;
p121) run_test 123 && exit 0 ;;
p122) run_test 124 && exit 0 ;;
p123) run_test 125 && exit 0 ;;
p124) run_test 126 && exit 0 ;;
p125) run_test 127 && exit 0 ;;
p126) run_test 128 && exit 0 ;;
p127) run_test 129 && exit 0 ;;
p128) run_test 130 && exit 0 ;;
p129) run_test 131 && exit 0 ;;
p130) run_test 132 && exit 0 ;;
p131) run_test 133 && exit 0 ;;
p132) run_test 134 && exit 0 ;;
p133) run_test 135 && exit 0 ;;
p134) run_test 136 && exit 0 ;;
p135) run_test 137 && exit 0 ;;
p136) run_test 138 && exit 0 ;;
p137) run_test 139 && exit 0 ;;
p138) run_test 140 && exit 0 ;;
p139) run_test 141 && exit 0 ;;
p140) run_test 142 && exit 0 ;;
p141) run_test 143 && exit 0 ;;
p142) run_test 144 && exit 0 ;;
p143) run_test 145 && exit 0 ;;
p144) run_test 146 && exit 0 ;;
n1) run_test 19 && exit 0 ;;
esac
exit 1
@@ -0,0 +1,142 @@
n1
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16
p17
p18
p19
p20
p21
p22
p23
p24
p25
p26
p27
p28
p29
p30
p31
p32
p33
p34
p36
p37
p38
p39
p40
p41
p42
p43
p44
p46
p48
p49
p50
p51
p52
p53
p54
p55
p56
p57
p58
p59
p60
p61
p62
p63
p64
p65
p66
p67
p68
p69
p70
p71
p72
p73
p74
p75
p76
p77
p78
p79
p80
p81
p82
p83
p84
p85
p86
p87
p88
p89
p90
p91
p92
p93
p94
p95
p96
p97
p98
p99
p100
p101
p102
p103
p104
p105
p106
p107
p108
p109
p110
p111
p112
p113
p114
p115
p116
p117
p118
p119
p120
p121
p122
p123
p124
p125
p126
p127
p128
p129
p130
p131
p132
p133
p134
p135
p136
p137
p138
p139
p140
p141
p142
p143
p144
File diff suppressed because one or more lines are too long