diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-05-26 19:45:05 +0200 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-05-26 19:45:05 +0200 |
commit | e38d9980c45deeeb1bc50240fd5def8a88da2932 (patch) | |
tree | 65bc96935b25303b00a4008fa016bd84fe594fc2 /tests | |
parent | dfe17491276ec8b660e31b45f6c628bc028fe93a (diff) |
fix strtod behavior on non-ints
Diffstat (limited to 'tests')
-rw-r--r-- | tests/cube2md5.cpp | 28 | ||||
-rw-r--r-- | tests/cube2md5.ok | 264 | ||||
-rw-r--r-- | tests/cube2md5.txt | 37 | ||||
-rwxr-xr-x | tests/runner.py | 6 |
4 files changed, 335 insertions, 0 deletions
diff --git a/tests/cube2md5.cpp b/tests/cube2md5.cpp new file mode 100644 index 00000000..d2a638d1 --- /dev/null +++ b/tests/cube2md5.cpp @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <stdlib.h> + +FILE *file; +bool getline(char *str, int len) { return fgets(str, len, file)!=NULL; } + +int main() { + file = fopen("cube2md5.txt", "r"); + char buf[1024]; + int tmp; + getline(buf, sizeof(buf)); + if(sscanf(buf, " frame %d", &tmp)==1) + { + printf("frame %d\n", tmp); + for(int numdata = 0; getline(buf, sizeof(buf)) && buf[0]!='}';) + { + printf("frameline\n"); + for(char *src = buf, *next = src; numdata < 198; numdata++, src = next) + { + double x = strtod(src, &next); + printf("animdata[%d] = %.8f\n", numdata, x); + if(next <= src) break; + } + } + } + return 1; +} + diff --git a/tests/cube2md5.ok b/tests/cube2md5.ok new file mode 100644 index 00000000..13505e73 --- /dev/null +++ b/tests/cube2md5.ok @@ -0,0 +1,264 @@ +frame 0 +frameline +animdata[0] = 0.00000000 +animdata[1] = -0.02213600 +animdata[2] = 0.21368000 +animdata[3] = 0.00000000 +animdata[4] = 0.94635600 +animdata[5] = 0.32312500 +animdata[6] = 0.00000000 +frameline +animdata[6] = 0.00000000 +animdata[7] = 0.10150600 +animdata[8] = 0.00000000 +animdata[9] = -0.10292100 +animdata[10] = 0.00000000 +animdata[11] = 0.00000000 +animdata[12] = 0.00000000 +frameline +animdata[12] = 0.00000000 +animdata[13] = 0.11562300 +animdata[14] = 0.00000000 +animdata[15] = -0.13181200 +animdata[16] = 0.00000000 +animdata[17] = 0.00000000 +animdata[18] = 0.00000000 +frameline +animdata[18] = 0.00000000 +animdata[19] = 0.14716600 +animdata[20] = 0.05224800 +animdata[21] = 0.00000000 +animdata[22] = 0.99503400 +animdata[23] = 0.09954000 +animdata[24] = 0.00000000 +frameline +animdata[24] = -0.08901200 +animdata[25] = 0.03495200 +animdata[26] = 0.10200100 +animdata[27] = -0.90449900 +animdata[28] = 0.31986300 +animdata[29] = -0.16450100 +animdata[30] = 0.00000000 +frameline +animdata[30] = 0.00000000 +animdata[31] = 0.03460000 +animdata[32] = 0.00000000 +animdata[33] = -0.33932300 +animdata[34] = -0.17058500 +animdata[35] = -0.05674000 +animdata[36] = 0.00000000 +frameline +animdata[36] = 0.08901300 +animdata[37] = 0.03495300 +animdata[38] = 0.10200300 +animdata[39] = -0.90678000 +animdata[40] = -0.30414400 +animdata[41] = 0.13180800 +animdata[42] = 0.00000000 +frameline +animdata[42] = 0.00000000 +animdata[43] = 0.03459800 +animdata[44] = 0.00000000 +animdata[45] = -0.38465600 +animdata[46] = 0.20853500 +animdata[47] = 0.04355200 +animdata[48] = 0.00000000 +frameline +animdata[48] = 0.05478300 +animdata[49] = 0.08776100 +animdata[50] = 0.00658100 +animdata[51] = -0.04975400 +animdata[52] = -0.00020500 +animdata[53] = -0.00542700 +animdata[54] = 0.00000000 +frameline +animdata[54] = -0.05362600 +animdata[55] = 0.08775300 +animdata[56] = 0.00662200 +animdata[57] = -0.03224000 +animdata[58] = 0.70633700 +animdata[59] = 0.03805700 +animdata[60] = 0.00000000 +frameline +animdata[60] = 0.08767800 +animdata[61] = 0.09910000 +animdata[62] = 0.04200400 +animdata[63] = -0.48658300 +animdata[64] = -0.75782800 +animdata[65] = -0.39224400 +animdata[66] = 0.00000000 +frameline +animdata[66] = 0.00000000 +animdata[67] = 0.08621700 +animdata[68] = 0.00000000 +animdata[69] = -0.13275100 +animdata[70] = -0.25403200 +animdata[71] = 0.42206600 +animdata[72] = 0.00000000 +frameline +animdata[72] = 0.00010900 +animdata[73] = 0.11343800 +animdata[74] = -0.00046000 +animdata[75] = 0.00424900 +animdata[76] = 0.43245700 +animdata[77] = 0.08065100 +animdata[78] = 0.00000000 +frameline +animdata[78] = -0.08767700 +animdata[79] = 0.09909800 +animdata[80] = 0.04200500 +animdata[81] = -0.48460700 +animdata[82] = 0.76187500 +animdata[83] = 0.38432000 +animdata[84] = 0.00000000 +frameline +animdata[84] = 0.00000000 +animdata[85] = 0.08621700 +animdata[86] = 0.00000000 +animdata[87] = -0.09719100 +animdata[88] = 0.28995100 +animdata[89] = -0.44564500 +animdata[90] = 0.00000000 +frameline +animdata[90] = 0.00021600 +animdata[91] = 0.11610300 +animdata[92] = 0.00060100 +animdata[93] = -0.02305500 +animdata[94] = -0.41085000 +animdata[95] = -0.08651400 +animdata[96] = 0.00000000 +frameline +animdata[96] = 0.00000000 +animdata[97] = -0.02463200 +animdata[98] = 0.22803300 +animdata[99] = 0.00000000 +animdata[100] = 0.81624500 +animdata[101] = -0.57770600 +animdata[102] = 0.00000000 +frameline +animdata[102] = 0.06124500 +animdata[103] = 0.07378500 +animdata[104] = 0.01947500 +animdata[105] = -0.49098300 +animdata[106] = -0.18594000 +animdata[107] = 0.01243400 +animdata[108] = 0.00000000 +frameline +animdata[108] = 0.00000000 +animdata[109] = 0.10644500 +animdata[110] = 0.00000000 +animdata[111] = -0.54092700 +animdata[112] = 0.23666500 +animdata[113] = -0.28196200 +animdata[114] = 0.00000000 +frameline +animdata[114] = 0.00000000 +animdata[115] = 0.08007200 +animdata[116] = 0.00000000 +animdata[117] = -0.31038200 +animdata[118] = -0.77741400 +animdata[119] = 0.54682500 +animdata[120] = 0.00000000 +frameline +animdata[120] = 0.00000000 +animdata[121] = 0.05055300 +animdata[122] = 0.00000000 +animdata[123] = 0.09166800 +animdata[124] = -0.20672100 +animdata[125] = -0.07288900 +animdata[126] = 0.00000000 +frameline +animdata[126] = -0.06124500 +animdata[127] = 0.07378400 +animdata[128] = 0.01947500 +animdata[129] = -0.58758300 +animdata[130] = 0.18610800 +animdata[131] = 0.00950000 +animdata[132] = 0.00000000 +frameline +animdata[132] = 0.00000000 +animdata[133] = 0.10644600 +animdata[134] = 0.00000000 +animdata[135] = -0.54092800 +animdata[136] = -0.23666300 +animdata[137] = 0.28196400 +animdata[138] = 0.00000000 +frameline +animdata[138] = 0.00000000 +animdata[139] = 0.08007200 +animdata[140] = 0.00000000 +animdata[141] = -0.28906600 +animdata[142] = 0.74845100 +animdata[143] = -0.59650400 +animdata[144] = 0.00000000 +frameline +animdata[144] = 0.00000000 +animdata[145] = 0.05055300 +animdata[146] = 0.00000000 +animdata[147] = 0.12786100 +animdata[148] = 0.23079600 +animdata[149] = 0.07114100 +animdata[150] = 0.00000000 +frameline +animdata[150] = 0.00000000 +animdata[151] = -0.04418300 +animdata[152] = 0.02565600 +animdata[153] = -0.87689900 +animdata[154] = 0.00000000 +animdata[155] = 0.00000000 +animdata[156] = 0.00000000 +frameline +animdata[156] = 0.00000000 +animdata[157] = 0.04597000 +animdata[158] = 0.00000000 +animdata[159] = 0.14528300 +animdata[160] = 0.00000000 +animdata[161] = 0.00000000 +animdata[162] = 0.00000000 +frameline +animdata[162] = 0.00000000 +animdata[163] = 0.05919300 +animdata[164] = 0.00000000 +animdata[165] = 0.06151300 +animdata[166] = 0.00000000 +animdata[167] = 0.00000000 +animdata[168] = 0.00000000 +frameline +animdata[168] = 0.00000000 +animdata[169] = 0.06477600 +animdata[170] = 0.00000000 +animdata[171] = 0.01219600 +animdata[172] = 0.00000000 +animdata[173] = 0.00000000 +animdata[174] = 0.00000000 +frameline +animdata[174] = 0.00000000 +animdata[175] = 0.06418900 +animdata[176] = 0.00000000 +animdata[177] = -0.01392400 +animdata[178] = 0.00000000 +animdata[179] = 0.00000000 +animdata[180] = 0.00000000 +frameline +animdata[180] = 0.00000000 +animdata[181] = 0.06595100 +animdata[182] = 0.00000000 +animdata[183] = -0.04015600 +animdata[184] = 0.00000000 +animdata[185] = 0.00000000 +animdata[186] = 0.00000000 +frameline +animdata[186] = 0.00000000 +animdata[187] = 0.06742100 +animdata[188] = 0.00000000 +animdata[189] = -0.02690900 +animdata[190] = 0.00000000 +animdata[191] = 0.00000000 +animdata[192] = 0.00000000 +frameline +animdata[192] = 0.00000000 +animdata[193] = 0.06124900 +animdata[194] = 0.00000000 +animdata[195] = -0.01467800 +animdata[196] = 0.00000000 +animdata[197] = 0.00000000 diff --git a/tests/cube2md5.txt b/tests/cube2md5.txt new file mode 100644 index 00000000..5226b5bf --- /dev/null +++ b/tests/cube2md5.txt @@ -0,0 +1,37 @@ +frame 0 { + 0.000000 -0.022136 0.213680 0.000000 0.946356 0.323125 + 0.000000 0.101506 0.000000 -0.102921 0.000000 0.000000 + 0.000000 0.115623 0.000000 -0.131812 0.000000 0.000000 + 0.000000 0.147166 0.052248 0.000000 0.995034 0.099540 + -0.089012 0.034952 0.102001 -0.904499 0.319863 -0.164501 + 0.000000 0.034600 0.000000 -0.339323 -0.170585 -0.056740 + 0.089013 0.034953 0.102003 -0.906780 -0.304144 0.131808 + 0.000000 0.034598 0.000000 -0.384656 0.208535 0.043552 + 0.054783 0.087761 0.006581 -0.049754 -0.000205 -0.005427 + -0.053626 0.087753 0.006622 -0.032240 0.706337 0.038057 + 0.087678 0.099100 0.042004 -0.486583 -0.757828 -0.392244 + 0.000000 0.086217 0.000000 -0.132751 -0.254032 0.422066 + 0.000109 0.113438 -0.000460 0.004249 0.432457 0.080651 + -0.087677 0.099098 0.042005 -0.484607 0.761875 0.384320 + 0.000000 0.086217 0.000000 -0.097191 0.289951 -0.445645 + 0.000216 0.116103 0.000601 -0.023055 -0.410850 -0.086514 + 0.000000 -0.024632 0.228033 0.000000 0.816245 -0.577706 + 0.061245 0.073785 0.019475 -0.490983 -0.185940 0.012434 + 0.000000 0.106445 0.000000 -0.540927 0.236665 -0.281962 + 0.000000 0.080072 0.000000 -0.310382 -0.777414 0.546825 + 0.000000 0.050553 0.000000 0.091668 -0.206721 -0.072889 + -0.061245 0.073784 0.019475 -0.587583 0.186108 0.009500 + 0.000000 0.106446 0.000000 -0.540928 -0.236663 0.281964 + 0.000000 0.080072 0.000000 -0.289066 0.748451 -0.596504 + 0.000000 0.050553 0.000000 0.127861 0.230796 0.071141 + 0.000000 -0.044183 0.025656 -0.876899 0.000000 0.000000 + 0.000000 0.045970 0.000000 0.145283 0.000000 0.000000 + 0.000000 0.059193 0.000000 0.061513 0.000000 0.000000 + 0.000000 0.064776 0.000000 0.012196 0.000000 0.000000 + 0.000000 0.064189 0.000000 -0.013924 0.000000 0.000000 + 0.000000 0.065951 0.000000 -0.040156 0.000000 0.000000 + 0.000000 0.067421 0.000000 -0.026909 0.000000 0.000000 + 0.000000 0.061249 0.000000 -0.014678 0.000000 0.000000 +} + + diff --git a/tests/runner.py b/tests/runner.py index 31462a5a..e3e0543b 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -955,6 +955,12 @@ m_divisor is 1091269979 self.do_run(open(path_from_root('tests', 'sha1.c')).read(), 'SHA1=15dd99a1991e0b3826fede3deffc1feba42278e6') + def test_cube2md5(self): + if self.emcc_args == None: return self.skip('needs emcc') + self.emcc_args += ['--embed-file', 'cube2md5.txt'] + shutil.copyfile(path_from_root('tests', 'cube2md5.txt'), os.path.join(self.get_dir(), 'cube2md5.txt')) + self.do_run(open(path_from_root('tests', 'cube2md5.cpp')).read(), open(path_from_root('tests', 'cube2md5.ok')).read()) + def test_cube2hash(self): # A good test of i64 math if Settings.USE_TYPED_ARRAYS != 2: return self.skip('requires ta2 C-style memory aliasing') |