},
.num_updates = (size_t[]){10, 6, 4},
.fam = create_metric_family_for_test7("test4-update", 3, 5, 23),
- }
- };
+ }};
uc_init();
for (size_t i = 0; i < (sizeof(cases) / sizeof(cases[0])); ++i) {
printf("## Case %zu:\n", i);
193, 47.97),
.percent = 0,
.num_updates = (size_t[]){71, 8, 45, 3},
- .updates = (double*[]) {
- (double[]){8194, 68.41378, 488, 5904.4289,
- 348.952, 5.41609, 33687, 24959.94718,
- 93646.26915, 1520.5, 14639.697, 7022,
- 281.52, 16146.0281, 1.92362, 52167.56135,
- 29.19779, 45057.14, 3319.7724, 34066.55,
- 1073.62876, 91667.0, 98416.1719, 96030.39534,
- 783.438, 77316.03541, 5659.005, 55984.9258,
- 7.94164, 3384.647, 72593.99, 6628.329,
- 17548.12711, 3.58183, 70.8097, 64922.09787,
- 3822.1765, 67.44964, 819.125, 57421.823,
- 52.8739, 2394.23, 6053.3371, 81659.40367,
- 38240.76, 8542.95662, 54837.08557, 7.92726,
- 69.11685, 5428.26, 6612.06311, 70475.98393,
- 85464.98161, 20740.9, 43986.93, 70876.29799,
- 1037.866, 71.71462, 53813.0019, 4035.658,
- 5811.23089, 582.7, 94178.50533, 12500.30161,
- 81487.188, 690.50582, 49662.044, 73422.52,
- 68386.53142, 91320.37996, 35.92333},
- (double[]){745.38815,481.05336,6.41994,1.95525,1156.20533,1268.7098,1295.84116,917.62886},
- (double[]){516.9201,4849.31623,7221.34863,7527.68604,1151.26575,6524.27975,705.95819,4513.90006,5128.38355,6394.32618,5547.92822,5852.66449,1573.28964,4182.4275,8472.49003,2649.24761,9031.21648,273.19715,9269.87663,3111.26556,5555.49909,1971.95879,4414.7191,6246.03113,4236.78126,8654.59594,1718.24435,7858.42398,5748.95136,1579.52587,3661.98626,2142.41081,7568.26255,5097.90185,5640.32226,3454.39562,9409.04172,4254.11444,4606.8975,8475.69705,4081.69481,6739.58349,7981.12462,8370.65351,7414.76374},
- (double[]){5454.43, 9854.432, 10000.432},
- },
+ .updates =
+ (double *[]){
+ (double[]){8194, 68.41378, 488, 5904.4289,
+ 348.952, 5.41609, 33687, 24959.94718,
+ 93646.26915, 1520.5, 14639.697, 7022,
+ 281.52, 16146.0281, 1.92362, 52167.56135,
+ 29.19779, 45057.14, 3319.7724, 34066.55,
+ 1073.62876, 91667.0, 98416.1719, 96030.39534,
+ 783.438, 77316.03541, 5659.005, 55984.9258,
+ 7.94164, 3384.647, 72593.99, 6628.329,
+ 17548.12711, 3.58183, 70.8097, 64922.09787,
+ 3822.1765, 67.44964, 819.125, 57421.823,
+ 52.8739, 2394.23, 6053.3371, 81659.40367,
+ 38240.76, 8542.95662, 54837.08557, 7.92726,
+ 69.11685, 5428.26, 6612.06311, 70475.98393,
+ 85464.98161, 20740.9, 43986.93, 70876.29799,
+ 1037.866, 71.71462, 53813.0019, 4035.658,
+ 5811.23089, 582.7, 94178.50533, 12500.30161,
+ 81487.188, 690.50582, 49662.044, 73422.52,
+ 68386.53142, 91320.37996, 35.92333},
+ (double[]){745.38815, 481.05336, 6.41994, 1.95525, 1156.20533,
+ 1268.7098, 1295.84116, 917.62886},
+ (double[]){516.9201, 4849.31623, 7221.34863, 7527.68604,
+ 1151.26575, 6524.27975, 705.95819, 4513.90006,
+ 5128.38355, 6394.32618, 5547.92822, 5852.66449,
+ 1573.28964, 4182.4275, 8472.49003, 2649.24761,
+ 9031.21648, 273.19715, 9269.87663, 3111.26556,
+ 5555.49909, 1971.95879, 4414.7191, 6246.03113,
+ 4236.78126, 8654.59594, 1718.24435, 7858.42398,
+ 5748.95136, 1579.52587, 3661.98626, 2142.41081,
+ 7568.26255, 5097.90185, 5640.32226, 3454.39562,
+ 9409.04172, 4254.11444, 4606.8975, 8475.69705,
+ 4081.69481, 6739.58349, 7981.12462, 8370.65351,
+ 7414.76374},
+ (double[]){5454.43, 9854.432, 10000.432},
+ },
.want_ret_value = 47.97,
},
{
.fam = create_metric_family_for_test5("test8-percentile-by-name", 5,
74, 1.065, 45.784),
.percent = 100,
- .num_updates = (size_t[]) {42, 0, 67, 5, 89},
- .updates = (double *[]) {
- (double[]) {72506.34561, 91418.8635, 80572.52619, 38484.68244,
- 87877.24226, 57174.59598, 1551.41153, 9145.58047,
- 72967.20258, 53348.1573, 48132.4808, 39831.68688,
- 78359.72224, 76905.47862, 5348.62723, 8070.63794,
- 11716.49737, 29432.91898, 67222.86733, 29114.50366,
- 67117.86881, 15388.23779, 48933.6252, 74134.36183,
- 24786.55592, 42282.17781, 87869.09351, 26252.42492,
- 7323.72669, 47943.4361, 29671.97547, 6225.43339,
- 44457.12541, 34822.90173, 50059.94181, 26860.86093,
- 71182.72552, 65944.4019, 21285.09149, 19641.2854,
- 19254.37358, 61342.40975},
- (double[]) {
+ .num_updates = (size_t[]){42, 0, 67, 5, 89},
+ .updates =
+ (double *[]){
+ (double[]){72506.34561, 91418.8635, 80572.52619, 38484.68244,
+ 87877.24226, 57174.59598, 1551.41153, 9145.58047,
+ 72967.20258, 53348.1573, 48132.4808, 39831.68688,
+ 78359.72224, 76905.47862, 5348.62723, 8070.63794,
+ 11716.49737, 29432.91898, 67222.86733, 29114.50366,
+ 67117.86881, 15388.23779, 48933.6252, 74134.36183,
+ 24786.55592, 42282.17781, 87869.09351, 26252.42492,
+ 7323.72669, 47943.4361, 29671.97547, 6225.43339,
+ 44457.12541, 34822.90173, 50059.94181, 26860.86093,
+ 71182.72552, 65944.4019, 21285.09149, 19641.2854,
+ 19254.37358, 61342.40975},
+ (double[]){
+ },
+ (double[]){5586.54111, 3841.94096, 5834.15027, 8247.97183,
+ 9499.93153, 7472.58943, 219.47985, 7686.70986,
+ 1219.55743, 2415.15816, 8955.29092, 3480.59525,
+ 1879.67425, 1275.56004, 3295.58027, 2139.82266,
+ 456.72684, 562.50828, 1941.86819, 9780.2701,
+ 4234.51139, 1287.71429, 571.7637, 3018.60717,
+ 3024.39436, 10317.61782, 3059.65791, 6248.61059,
+ 10178.41514, 3430.92157, 5205.66822, 3387.48332,
+ 2669.69809, 7532.6, 6981.75202, 2897.25262,
+ 8964.52642, 4209.86327, 3735.92037, 878.27845,
+ 4097.70763, 10419.35129, 2094.15747, 9162.93322,
+ 6691.67488, 1529.17463, 10293.11383, 10388.03797,
+ 4898.96937, 9262.156, 833.49287, 1568.14635,
+ 1187.62364, 8168.1532, 8849.88077, 8484.26639,
+ 10457.05272, 1759.43482, 288.39094, 7405.56667,
+ 9778.09951, 6290.33759, 7102.4534, 2172.31562,
+ 8277.08193, 8824.99498, 5797.51546},
+ (double[]){56.43, 879.453, 5.324, 765.342, 64.4356},
+ (double[]){1013.25449, 9089.16126, 9854.27631, 9420.94215,
+ 509.43821, 7299.78937, 2293.54321, 7308.0138,
+ 4066.37637, 6305.31349, 7006.66839, 2503.36452,
+ 5787.31125, 4247.16623, 5803.29759, 8303.8097,
+ 9543.26322, 2027.47232, 486.42233, 6603.60027,
+ 1440.39473, 9132.76392, 4395.65407, 6737.9134,
+ 6162.07532, 5855.29759, 802.30289, 10121.34827,
+ 10029.5615, 2886.96024, 3185.46451, 517.43518,
+ 892.29103, 5515.76823, 8022.44596, 3888.66676,
+ 4320.34148, 5751.74699, 5016.10839, 343.68796,
+ 2926.28764, 3061.87651, 4463.04963, 5255.43202,
+ 4029.81862, 3254.9407, 6082.41397, 10433.08612,
+ 2011.06951, 2968.68571, 7948.21252, 4659.80086,
+ 8464.0979, 1424.92974, 6664.08464, 7246.80407,
+ 4714.69846, 6168.91884, 6315.78325, 9857.07278,
+ 5709.06859, 176.3125, 5244.00458, 3999.77758,
+ 7247.30445, 9108.6723, 7354.32423, 7918.81314,
+ 3666.6743, 7315.87523, 5687.41806, 293.34054,
+ 1812.20181, 3585.62552, 6423.85917, 4389.82836,
+ 3467.02384, 6070.2832, 8559.86769, 1225.99976,
+ 2808.22175, 4888.729, 7613.12619, 414.86679,
+ 7449.10677, 6598.8391, 2551.38054, 9092.67749,
+ 5626.38473},
},
- (double[]) {5586.54111, 3841.94096, 5834.15027, 8247.97183, 9499.93153, 7472.58943, 219.47985, 7686.70986,
- 1219.55743, 2415.15816, 8955.29092, 3480.59525, 1879.67425, 1275.56004, 3295.58027,
- 2139.82266, 456.72684, 562.50828, 1941.86819, 9780.2701, 4234.51139, 1287.71429, 571.7637,
- 3018.60717, 3024.39436, 10317.61782, 3059.65791, 6248.61059, 10178.41514, 3430.92157,
- 5205.66822, 3387.48332, 2669.69809, 7532.6, 6981.75202, 2897.25262, 8964.52642, 4209.86327,
- 3735.92037, 878.27845, 4097.70763, 10419.35129, 2094.15747, 9162.93322, 6691.67488,
- 1529.17463, 10293.11383, 10388.03797, 4898.96937, 9262.156, 833.49287, 1568.14635, 1187.62364,
- 8168.1532, 8849.88077, 8484.26639, 10457.05272, 1759.43482, 288.39094, 7405.56667, 9778.09951,
- 6290.33759, 7102.4534, 2172.31562, 8277.08193, 8824.99498, 5797.51546},
- (double[]) {56.43, 879.453, 5.324, 765.342, 64.4356},
- (double[]) {1013.25449, 9089.16126, 9854.27631, 9420.94215, 509.43821, 7299.78937, 2293.54321, 7308.0138,
- 4066.37637, 6305.31349, 7006.66839, 2503.36452, 5787.31125, 4247.16623, 5803.29759, 8303.8097,
- 9543.26322, 2027.47232, 486.42233, 6603.60027, 1440.39473, 9132.76392, 4395.65407, 6737.9134,
- 6162.07532, 5855.29759, 802.30289, 10121.34827, 10029.5615, 2886.96024, 3185.46451, 517.43518,
- 892.29103, 5515.76823, 8022.44596, 3888.66676, 4320.34148, 5751.74699, 5016.10839, 343.68796,
- 2926.28764, 3061.87651, 4463.04963, 5255.43202, 4029.81862, 3254.9407, 6082.41397, 10433.08612,
- 2011.06951, 2968.68571, 7948.21252, 4659.80086, 8464.0979, 1424.92974, 6664.08464, 7246.80407,
- 4714.69846, 6168.91884, 6315.78325, 9857.07278, 5709.06859, 176.3125, 5244.00458, 3999.77758,
- 7247.30445, 9108.6723, 7354.32423, 7918.81314, 3666.6743, 7315.87523, 5687.41806, 293.34054,
- 1812.20181, 3585.62552, 6423.85917, 4389.82836, 3467.02384, 6070.2832, 8559.86769, 1225.99976,
- 2808.22175, 4888.729, 7613.12619, 414.86679, 7449.10677, 6598.8391, 2551.38054, 9092.67749,
- 5626.38473},
- }, .want_ret_value = INFINITY,},
+ .want_ret_value = INFINITY,
+ },
{
.fam = create_metric_family_for_test6(
"test9-percentile-by-name", 3, 26,
96327.48458, 97958.59675}),
.percent = 42.3,
.num_updates = (size_t[]){38, 0, 2},
- .updates = (double*[]){
- (double[]){71079.41279, 64378.08534, 58308.74218, 62899.70407,
- 43084.69866, 59286.43609, 95311.89101, 46082.97057,
- 21002.88808, 13767.93511, 6832.77194, 9641.53968,
- 93547.80996, 53104.75652, 30484.31134, 63405.23635,
- 87195.96601, 91571.10233, 10134.44248, 63686.4723,
- 323.06071, 48039.79776, 84822.6203, 89630.53538,
- 15187.56664, 76056.39513, 91604.62264, 47667.05402,
- 11471.67096, 82920.8644, 57711.02046, 73579.12752,
- 35093.01442, 95393.57805, 17610.14104, 54931.47418,
- 19359.63012, 46414.44434},
- (double[]){},
- (double[]){468.435, 54267.54}, },
+ .updates =
+ (double *[]){
+ (double[]){71079.41279, 64378.08534, 58308.74218, 62899.70407,
+ 43084.69866, 59286.43609, 95311.89101, 46082.97057,
+ 21002.88808, 13767.93511, 6832.77194, 9641.53968,
+ 93547.80996, 53104.75652, 30484.31134, 63405.23635,
+ 87195.96601, 91571.10233, 10134.44248, 63686.4723,
+ 323.06071, 48039.79776, 84822.6203, 89630.53538,
+ 15187.56664, 76056.39513, 91604.62264, 47667.05402,
+ 11471.67096, 82920.8644, 57711.02046, 73579.12752,
+ 35093.01442, 95393.57805, 17610.14104, 54931.47418,
+ 19359.63012, 46414.44434},
+ (double[]){},
+ (double[]){468.435, 54267.54},
+ },
.want_ret_value = 7174.31149,
},
};
for (size_t k = 0; k < cases[i].fam->metric.num; ++k) {
for (size_t l = 0; l <= k; ++l) {
- for (size_t j = 0; j < cases[i].num_updates[l]; ++j) {
- CHECK_ZERO(distribution_update(
- cases[i].fam->metric.ptr[k].value.distribution, cases[i].updates[l][j]));
- }
+ for (size_t j = 0; j < cases[i].num_updates[l]; ++j) {
+ CHECK_ZERO(distribution_update(
+ cases[i].fam->metric.ptr[k].value.distribution,
+ cases[i].updates[l][j]));
}
}
- /* TODO(bkjg): add test, where fam will be NULL */
+ }
+ /* TODO(bkjg): add test, where fam will be NULL */
CHECK_ZERO(uc_update(cases[i].fam));
5),
.want_get = -1,
.percent = -76,
- .num_updates = (size_t[]){0, 0, 0, 0, 0, 0},
- },
+ .num_updates = (size_t[]){0, 0, 0, 0, 0, 0},
+ },
{
.fam = create_metric_family_for_test6(
"test6-percentile", 5, 8,
create_metric_family_for_test7("test7-percentile", 9, 68, 84.543),
.percent = 0,
.num_updates = (size_t[]){9, 1, 0, 6, 8, 0, 7, 0, 4},
- .updates = (double*[]){(double[]){1.354, 4.2343, 67.543, 7243.2435, 543.2543,
- 54.43, 543.534, 9023.534, 2358453.534534},
- (double[]){67.543},
- (double[]){},
- (double[]){54.4645, 768.435, 6.4534, 986.43, 987.534, 23.5},
- (double[]){546.654, 1324.324, 457.43, 678.435, 5785.435, 895.32, 9.423, 9853.543},
- (double[]){},
- (double[]){654.645, 45352.6, 53453.43, 543.435, 76.43, 797.43, 76.43},
- (double[]){},
- (double[]){83.4653, 943.463, 573.543, 90.543}, },
+ .updates =
+ (double *[]){
+ (double[]){1.354, 4.2343, 67.543, 7243.2435, 543.2543, 54.43,
+ 543.534, 9023.534, 2358453.534534},
+ (double[]){67.543},
+ (double[]){},
+ (double[]){54.4645, 768.435, 6.4534, 986.43, 987.534, 23.5},
+ (double[]){546.654, 1324.324, 457.43, 678.435, 5785.435,
+ 895.32, 9.423, 9853.543},
+ (double[]){},
+ (double[]){654.645, 45352.6, 53453.43, 543.435, 76.43, 797.43,
+ 76.43},
+ (double[]){},
+ (double[]){83.4653, 943.463, 573.543, 90.543},
+ },
.want_ret_value = 84.543,
.metric_idx = 35,
},
1.345, 9.67),
.percent = 100,
.num_updates = (size_t[]){15, 67, 6, 0, 56, 26, 1},
- .updates = (double*[]) {(double[]) {7273.23889, 2332.61737, 5700.55615, 7812.98765,
- 4264.86158, 268.74688, 6486.08937, 6204.44048,
- 7235.73534, 2794.02672, 9288.39283, 4662.6566,
- 6517.20614, 7785.61931, 8087.83614, 1094.24435,
- 8093.33661, 2796.65101, 1425.40209, 2949.08743,
- 3074.2948, 9631.15671, 1448.20895, 9843.30987,
- 5045.33169, 6653.13623},
- (double[]){8.9836,44.92963,3.13412,72.36738,107.39301,21.2692,33.24933,10.00479,11.07998,101.58473,56.7942,102.57711,85.23387,5.50962,109.7728,25.13287,82.06147,7.88873,65.86362,68.49312,76.34463,11.84615,51.95518,51.36831,44.59729,27.56038,54.12334,3.14058,70.23039,113.51434,100.76535,1.42056,98.09661,70.88242,55.39125,4.84537,48.7601,3.89373,61.61134,97.6968,42.15975,66.19623,83.75841,93.82006,86.68521,47.97931,83.52405,79.94514,52.24084,34.4199,89.83969,93.75171,88.65762,8.99014,1.12716,9.23472,44.18075,75.32575,40.50866,0.62965,109.54525,63.84394,19.85427,20.86203,42.07358,100.14113,9.58807},
- (double[]){65.43, 7.54, 10.42323, 11.543, 20.4235, 109.423},
- (double[]){},
- (double[]){40.70721,111.25481,58.84637,130.57275,12.98124,107.43372,7.30452,62.89139,98.57436,81.20726,32.09759,142.48247,45.98872,26.61524,91.13035,105.86144,110.31826,43.40806,46.45192,23.47531,6.53419,149.77225,119.41684,8.76683,134.67231,59.93585,129.2164,108.17816,43.76639,138.4096,44.9372,146.85231,35.69273,91.43816,50.39418,139.84918,132.96587,41.81809,35.02065,67.94941,59.01611,138.43066,95.45903,51.71665,31.17835,125.77984,24.81209,43.67169,59.02432,77.40476,72.55881,103.22872,61.44734,110.21046,22.42225,53.0431},
- (double[]){38.81053,2.92907,58.62993,1.02672,21.98664,27.78435,62.01765,11.04862,35.70885,20.19808,48.87309,16.81291,46.22889,50.54755,59.58231,50.21794,26.45925,10.17534,26.77216,18.10478,30.72786,16.07058,16.60934,44.67609,46.58571,66.82775},
- (double[]){44.32},
- },.want_ret_value = 57.2479817070748,
+ .updates =
+ (double *[]){
+ (double[]){7273.23889, 2332.61737, 5700.55615, 7812.98765,
+ 4264.86158, 268.74688, 6486.08937, 6204.44048,
+ 7235.73534, 2794.02672, 9288.39283, 4662.6566,
+ 6517.20614, 7785.61931, 8087.83614, 1094.24435,
+ 8093.33661, 2796.65101, 1425.40209, 2949.08743,
+ 3074.2948, 9631.15671, 1448.20895, 9843.30987,
+ 5045.33169, 6653.13623},
+ (double[]){
+ 8.9836, 44.92963, 3.13412, 72.36738, 107.39301,
+ 21.2692, 33.24933, 10.00479, 11.07998, 101.58473,
+ 56.7942, 102.57711, 85.23387, 5.50962, 109.7728,
+ 25.13287, 82.06147, 7.88873, 65.86362, 68.49312,
+ 76.34463, 11.84615, 51.95518, 51.36831, 44.59729,
+ 27.56038, 54.12334, 3.14058, 70.23039, 113.51434,
+ 100.76535, 1.42056, 98.09661, 70.88242, 55.39125,
+ 4.84537, 48.7601, 3.89373, 61.61134, 97.6968,
+ 42.15975, 66.19623, 83.75841, 93.82006, 86.68521,
+ 47.97931, 83.52405, 79.94514, 52.24084, 34.4199,
+ 89.83969, 93.75171, 88.65762, 8.99014, 1.12716,
+ 9.23472, 44.18075, 75.32575, 40.50866, 0.62965,
+ 109.54525, 63.84394, 19.85427, 20.86203, 42.07358,
+ 100.14113, 9.58807},
+ (double[]){65.43, 7.54, 10.42323, 11.543, 20.4235, 109.423},
+ (double[]){},
+ (double[]){
+ 40.70721, 111.25481, 58.84637, 130.57275, 12.98124,
+ 107.43372, 7.30452, 62.89139, 98.57436, 81.20726,
+ 32.09759, 142.48247, 45.98872, 26.61524, 91.13035,
+ 105.86144, 110.31826, 43.40806, 46.45192, 23.47531,
+ 6.53419, 149.77225, 119.41684, 8.76683, 134.67231,
+ 59.93585, 129.2164, 108.17816, 43.76639, 138.4096,
+ 44.9372, 146.85231, 35.69273, 91.43816, 50.39418,
+ 139.84918, 132.96587, 41.81809, 35.02065, 67.94941,
+ 59.01611, 138.43066, 95.45903, 51.71665, 31.17835,
+ 125.77984, 24.81209, 43.67169, 59.02432, 77.40476,
+ 72.55881, 103.22872, 61.44734, 110.21046, 22.42225,
+ 53.0431},
+ (double[]){38.81053, 2.92907, 58.62993, 1.02672, 21.98664,
+ 27.78435, 62.01765, 11.04862, 35.70885, 20.19808,
+ 48.87309, 16.81291, 46.22889, 50.54755, 59.58231,
+ 50.21794, 26.45925, 10.17534, 26.77216, 18.10478,
+ 30.72786, 16.07058, 16.60934, 44.67609, 46.58571,
+ 66.82775},
+ (double[]){44.32},
+ },
+ .want_ret_value = 57.2479817070748,
.metric_idx = 0,
},
{
8055.85652, 8514.09805, 8786.67945, 8814.77247, 9421.52142,
9584.05069, 9618.27028, 9788.40721, 9862.77031}),
.percent = 56.3,
- .num_updates = (size_t[]){54,67,8,9},
- .updates = (double*[]) {
- (double[]) {
- 9473.99522, 9682.46524, 6902.22386, 2632.59974, 224.97903,
- 4425.67438, 1094.25828, 5507.07452, 6140.55588, 6586.78403,
- 3748.51025, 7342.42407, 461.98087, 2370.005, 6234.53679,
- 3630.13252, 9190.53656, 2377.16807, 2554.37586, 5973.07804,
- 9459.471, 977.36175, 4707.95627, 9373.90178, 5625.67662,
- 9200.20201, 2503.82766, 5539.63445, 8564.03697, 5179.19388,
- 8530.74263, 3829.30061, 9251.19378, 8991.0057, 8464.4043,
- 7580.73952, 9025.62113, 8952.42671, 9287.5265, 8579.52376,
- 2938.24169, 1229.20803, 3995.36776, 2629.81514, 222.9282,
- 321.08365, 958.73825, 393.90684, 7396.77622, 2706.27567,
- 7376.80843, 3028.44747, 8684.45493, 8277.39937},
- (double[]){94.34024,5369.42045,106.99225,4845.37869,3694.95099,6859.38458,3403.18808,9102.51424,4098.48109,5954.08755,6146.62894,3494.39408,4229.73443,1400.66599,8942.00647,6992.12526,3145.67041,4158.62876,8337.978,8311.53907,5934.71194,6885.4022,7941.92203,1636.68227,6086.39492,1893.09594,4984.28907,756.5788,9298.44361,6460.4752,8455.53452,2607.52741,62.34891,2499.08504,1370.14777,7838.19529,4335.81203,736.71981,9177.66445,8299.95565,7745.85028,5442.34546,7129.24099,6034.30483,2666.01496,5626.89066,1948.9354,842.76915,4425.71523,8022.58775,3228.76266,6616.1537,7016.92999,6867.16531,4919.9911,3812.5397,353.57387,7504.68569,8575.42736,9262.40423,6691.10738,9253.02204,9171.75229,6153.56538,8469.24383,4859.31769,1161.66019},
- (double[]){4400.00001,9833.13863,100.16011,6849.80943,510.31266,2866.47649,4492.46879,8692.87943},
- (double[]){1566.00821,7594.931,995.13973,1289.97209,9242.79285,9702.15248,82.44731,1854.97795,5236.74648},
- },.want_ret_value = 2011.40738,
+ .num_updates = (size_t[]){54, 67, 8, 9},
+ .updates =
+ (double *[]){
+ (double[]){9473.99522, 9682.46524, 6902.22386, 2632.59974,
+ 224.97903, 4425.67438, 1094.25828, 5507.07452,
+ 6140.55588, 6586.78403, 3748.51025, 7342.42407,
+ 461.98087, 2370.005, 6234.53679, 3630.13252,
+ 9190.53656, 2377.16807, 2554.37586, 5973.07804,
+ 9459.471, 977.36175, 4707.95627, 9373.90178,
+ 5625.67662, 9200.20201, 2503.82766, 5539.63445,
+ 8564.03697, 5179.19388, 8530.74263, 3829.30061,
+ 9251.19378, 8991.0057, 8464.4043, 7580.73952,
+ 9025.62113, 8952.42671, 9287.5265, 8579.52376,
+ 2938.24169, 1229.20803, 3995.36776, 2629.81514,
+ 222.9282, 321.08365, 958.73825, 393.90684,
+ 7396.77622, 2706.27567, 7376.80843, 3028.44747,
+ 8684.45493, 8277.39937},
+ (double[]){94.34024, 5369.42045, 106.99225, 4845.37869,
+ 3694.95099, 6859.38458, 3403.18808, 9102.51424,
+ 4098.48109, 5954.08755, 6146.62894, 3494.39408,
+ 4229.73443, 1400.66599, 8942.00647, 6992.12526,
+ 3145.67041, 4158.62876, 8337.978, 8311.53907,
+ 5934.71194, 6885.4022, 7941.92203, 1636.68227,
+ 6086.39492, 1893.09594, 4984.28907, 756.5788,
+ 9298.44361, 6460.4752, 8455.53452, 2607.52741,
+ 62.34891, 2499.08504, 1370.14777, 7838.19529,
+ 4335.81203, 736.71981, 9177.66445, 8299.95565,
+ 7745.85028, 5442.34546, 7129.24099, 6034.30483,
+ 2666.01496, 5626.89066, 1948.9354, 842.76915,
+ 4425.71523, 8022.58775, 3228.76266, 6616.1537,
+ 7016.92999, 6867.16531, 4919.9911, 3812.5397,
+ 353.57387, 7504.68569, 8575.42736, 9262.40423,
+ 6691.10738, 9253.02204, 9171.75229, 6153.56538,
+ 8469.24383, 4859.31769, 1161.66019},
+ (double[]){4400.00001, 9833.13863, 100.16011, 6849.80943,
+ 510.31266, 2866.47649, 4492.46879, 8692.87943},
+ (double[]){1566.00821, 7594.931, 995.13973, 1289.97209,
+ 9242.79285, 9702.15248, 82.44731, 1854.97795,
+ 5236.74648},
+ },
+ .want_ret_value = 2011.40738,
.metric_idx = 48,
},
};
+ /* TODO(bkjg): add test cases to the uc_update function that will give an
+ * error in distribution_sub function */
uc_init();
for (size_t i = 0; i < (sizeof(cases) / sizeof(cases[0])); ++i) {
printf("## Case %zu:\n", i);
for (size_t k = 0; k < cases[i].fam->metric.num; ++k) {
for (size_t l = 0; l <= k; ++l) {
- for (size_t j = 0; j < cases[i].num_updates[l]; ++j) {
- CHECK_ZERO(distribution_update(
- cases[i].fam->metric.ptr[k].value.distribution, cases[i].updates[l][j]));
- }
+ for (size_t j = 0; j < cases[i].num_updates[l]; ++j) {
+ CHECK_ZERO(distribution_update(
+ cases[i].fam->metric.ptr[k].value.distribution,
+ cases[i].updates[l][j]));
}
}
+ }
CHECK_ZERO(uc_update(cases[i].fam));
gauge_t ret_value;
gauge_t want_ret_value;
metric_family_t *fam;
- double *updates;
- int num_updates;
+ double **updates;
+ size_t *num_updates;
} cases[] = {
{
/* TODO(bkjg): maybe change the return value to EINVAL when the
.fam = create_metric_family_for_test1(
"test1-rate-by-name", 3, (gauge_t[]){69.54, 95.67, 45.87}),
.want_ret_value = 45.87,
+ .num_updates = (size_t[]){0, 0, 0},
},
{
.fam = fam_test2,
.want_ret_value = want_ret_value_for_test2,
+ .num_updates = (size_t[]){0, 0, 0, 0, 0, 0},
},
{
.fam = create_metric_family_for_test3("test3-rate-by-name", 2,
(gauge_t[]){436.54, 543.6}),
.want_ret_value = 543.6,
+ .num_updates = (size_t[]){0, 0},
},
{
.fam = create_metric_family_for_test4("test4-rate-by-name"),
.want_ret_value = NAN,
+ .num_updates = (size_t[]){0},
},
{
.fam = create_metric_family_for_test5("test5-rate-by-name", 4, 48,
1.033, 35),
- .num_updates = 75,
+ .num_updates = (size_t[]){75, 4, 5, 0},
.updates =
- (double[]){
- 4159.654, 9603.94667, 6060.77104, 20.11649, 21.07854,
- 7963.46534, 179.10527, 44.50653, 176.80966, 8881.67928,
- 5330.64572, 4725.76119, 41.95417, 44.85246, 3917.1775,
- 4252.7976, 82.38465, 91.43321, 553.65691, 3162.53235,
- 21.63984, 9750.3053, 39.8265, 3745.03322, 565.97145,
- 2500.5585, 5454.60361, 3249.507, 9847.01554, 4695.82556,
- 307.72055, 60.01705, 7245.61576, 1777.3541, 510.62964,
- 5821.57195, 8501.10822, 1017.39535, 5747.66313, 730.39328,
- 2036.318, 600.15378, 4453.83351, 9879.11423, 9020.87809,
- 3403.07313, 9429.83863, 11.328, 50.28723, 80.87675,
- 3841.93743, 2270.33075, 862.9549, 83.00705, 7178.40826,
- 2368.45065, 3153.68087, 458.31409, 4949.40529, 862.93844,
- 8778.1962, 95.5752, 8604.12661, 274.7418, 2123.17802,
- 614.29148, 1915.66805, 7996.38788, 93.39166, 832.57039,
- 5094.52733, 58.69212, 4746.39854, 722.9694, 6768.01305},
+ (double *[]){
+ (double[]){4159.654, 9603.94667, 6060.77104, 20.11649,
+ 21.07854, 7963.46534, 179.10527, 44.50653,
+ 176.80966, 8881.67928, 5330.64572, 4725.76119,
+ 41.95417, 44.85246, 3917.1775, 4252.7976,
+ 82.38465, 91.43321, 553.65691, 3162.53235,
+ 21.63984, 9750.3053, 39.8265, 3745.03322,
+ 565.97145, 2500.5585, 5454.60361, 3249.507,
+ 9847.01554, 4695.82556, 307.72055, 60.01705,
+ 7245.61576, 1777.3541, 510.62964, 5821.57195,
+ 8501.10822, 1017.39535, 5747.66313, 730.39328,
+ 2036.318, 600.15378, 4453.83351, 9879.11423,
+ 9020.87809, 3403.07313, 9429.83863, 11.328,
+ 50.28723, 80.87675, 3841.93743, 2270.33075,
+ 862.9549, 83.00705, 7178.40826, 2368.45065,
+ 3153.68087, 458.31409, 4949.40529, 862.93844,
+ 8778.1962, 95.5752, 8604.12661, 274.7418,
+ 2123.17802, 614.29148, 1915.66805, 7996.38788,
+ 93.39166, 832.57039, 5094.52733, 58.69212,
+ 4746.39854, 722.9694, 6768.01305},
+ (double[]){26.24206, 29.78883, 35.16503, 28.52225},
+ (double[]){45.65, 78.435, 34.324, 57.45, 67.5743},
+ (double[]){}},
.want_ret_value = 35,
},
{
812.37927, 835.96259, 841.42108, 853.20455, 865.72175,
873.74441, 880.88184, 900.20886, 973.97989, 976.72908,
979.7941, 991.89657}),
- .num_updates = 68,
+ .num_updates = (size_t[]){68, 8, 0, 0, 9, 11},
.updates =
- (double[]){
- 4682.42335, 4020.54089, 565.10587, 3954.73905, 6439.72826,
- 9010.67591, 8621.51997, 9915.12095, 2913.60702, 8645.39755,
- 6423.67358, 4830.46203, 8067.11382, 238.90511, 5809.10209,
- 7820.37444, 2742.35617, 7310.94613, 6630.98218, 8333.84097,
- 6513.26349, 1295.61267, 5724.2328, 1371.68056, 5650.33203,
- 8102.43229, 3675.91657, 9497.04227, 7286.45926, 8378.14153,
- 4291.39604, 9606.11436, 6525.73329, 3496.49047, 1500.50609,
- 5513.17177, 57.07583, 2666.14731, 6138.06959, 7829.2008,
- 4590.09268, 6646.89925, 4234.80301, 9875.51713, 8664.20834,
- 9593.93277, 5290.35192, 9947.5131, 9303.34419, 4821.80711,
- 5620.28822, 2695.28733, 1496.69721, 4338.82326, 769.33479,
- 5846.82939, 7256.13839, 5769.4598, 2450.50956, 2482.28105,
- 4821.93336, 3614.77436, 6639.69338, 3495.76385, 2296.34926,
- 6616.96188, 2966.60109, 1549.4343},
- .want_ret_value = 15.59219,
+ (double *[]){
+ (double[]){4682.42335, 420.549, 565.187, 3954.73905,
+ 643.72826, 900.67591, 821.51997, 9915.12095,
+ 2913.60702, 645.39755, 6423.67358, 430.46203,
+ 87.11382, 238.90511, 509.10209, 720.37444,
+ 22.35617, 0.94613, 6630.98218, 833.84097,
+ 613.26349, 125.61267, 528, 1371.68056,
+ 5650.3303, 8102.43229, 75.91657, 997.04227,
+ 7286.45926, 838.14153, 421.39604, 9606.11436,
+ 65.73329, 34.49047, 15.50609, 513.17177,
+ 57.07583, 6.14731, 6138.069, 9.2008,
+ 590.09268, 646.89925, 42.801, 95.51713,
+ 64.20834, 953.93277, 590.35192, 994.31,
+ 9303.344, 4821.80711, 560.28822, 295.28733,
+ 1.69721, 326, 769.3479, 586.82939,
+ 756.13839, 9.4598, 240.556, 242.28105,
+ 481.93336, 314.77436, 639.6, 3495.76385,
+ 226.34926, 6616.96188, 2966.60109, 1549.4343},
+ (double[]){645.43, 745.425, 989432.3423, 89.432, 678.423,
+ 903.54, 589.34, 569.54},
+ (double[]){},
+ (double[]){},
+ (double[]){567.432, 678.43, 543.5346, 895.3, 234.543, 178.453,
+ 864.23, 900.543, 4235},
+ (double[]){42342.4324, 543.423, 678.435, 245.325, 8753.6456,
+ 906.5435, 6874.634, 674.34, 789.534, 543.543, 654.43}},
+ .want_ret_value = 718.85353,
},
{
.fam =
create_metric_family_for_test7("test7-rate-by-name", 10, 532, 98),
- .num_updates = 36,
- .updates = (double[]){8563.48484, 7737.26182, 8461.55369, 7345.18085,
- 6922.39556, 9826.36599, 8285.47882, 9242.88802,
- 1879.60733, 2017.17049, 9946.55565, 5047.35425,
- 5956.43188, 3637.33311, 2275.67666, 5241.08879,
- 3752.92924, 4518.3078, 5574.17357, 444.83081,
- 8731.81445, 4428.15217, 5869.54926, 4006.06406,
- 6442.546, 8566.80388, 6627.0215, 2276.11951,
- 7684.56221, 9571.34356, 7074.81794, 3457.6747,
- 747.35085, 9269.56873, 6193.34178, 1339.58513},
- .want_ret_value = 98,
+ .num_updates = (size_t[]){36, 0, 0, 0, 0, 3, 78, 45, 9, 10},
+ .updates =
+ (double *[]){
+ (double[]){8563.48484, 7737.26182, 8461.55369, 7345.18085,
+ 6922.39556, 9826.36599, 8285.47882, 9242.88802,
+ 1879.60733, 2017.17049, 9946.55565, 5047.35425,
+ 5956.43188, 3637.33311, 2275.67666, 5241.08879,
+ 3752.92924, 4518.3078, 5574.17357, 444.83081,
+ 8731.81445, 4428.15217, 5869.54926, 4006.06406,
+ 6442.546, 8566.80388, 6627.0215, 2276.11951,
+ 7684.56221, 9571.34356, 7074.81794, 3457.6747,
+ 747.35085, 9269.56873, 6193.34178, 1339.58513},
+ (double[]){},
+ (double[]){},
+ (double[]){},
+ (double[]){},
+ (double[]){125.543, 642.5345, 7564.25},
+ (double[]){22195.68641, 20118.4779, 27788.0238, 21660.95577,
+ 13109.17633, 45481.75486, 60772.61211, 15502.82054,
+ 64807.98058, 80269.72468, 17138.73195, 36947.45858,
+ 13698.34813, 24327.0788, 2310.4785, 47154.80257,
+ 42025.80305, 34341.75166, 50052.9567, 76862.15098,
+ 96078.89941, 57201.03172, 9861.25572, 87059.45503,
+ 26535.97795, 12066.52634, 35314.64922, 51132.33884,
+ 50256.12067, 6097.42143, 92925.59698, 78582.07681,
+ 89309.56916, 20259.27171, 3171.51752, 46472.43649,
+ 84907.56782, 4987.50946, 89845.81376, 5311.01208,
+ 34311.3633, 53558.35518, 91755.7273, 2035.08046,
+ 53700.1584, 91605.23363, 38349.06227, 17148.10497,
+ 36924.49226, 39106.15963, 60389.16114, 10506.33747,
+ 34272.86238, 40229.98104, 29947.99145, 80874.60114,
+ 94268.40706, 31144.25066, 2994.40595, 78146.89748,
+ 82519.67508, 39423.41723, 23379.64765, 74648.37952,
+ 85765.40285, 24009.43512, 69162.25593, 55258.07303,
+ 8626.32408, 42564.13693, 33160.6236, 11919.79605,
+ 13647.54085, 98696.50118, 18862.64208, 28554.92706,
+ 83405.96533, 47459.24177},
+ (double[]){66075.33301, 81245.72895, 79264.1119, 71294.4439,
+ 69789.35421, 44400.87995, 61855.39209, 79255.32008,
+ 72927.19757, 40667.6036, 72490.18809, 21742.83491,
+ 89137.57279, 31740.68086, 97752.72254, 33346.88699,
+ 60235.58325, 43753.29565, 58615.5088, 5223.76648,
+ 64124.03391, 90914.4585, 12524.41179, 70676.85368,
+ 87377.49, 47835.43439, 7397.05884, 59284.78323,
+ 5100.00019, 64840.49217, 35805.81813, 75682.15466,
+ 1400.07204, 77499.47769, 65685.72436, 5006.66765,
+ 35944.44801, 60647.21456, 96690.41787, 26233.1071,
+ 40308.1231, 22477.09745, 3575.69941, 55313.28453,
+ 44959.21375},
+ (double[]){47817.79309, 61037.21185, 38306.19433, 37380.72465,
+ 45474.26121, 35413.80266, 23993.95002, 52741.09605,
+ 7207.58457},
+ (double[]){47415.11645, 2098.94152, 91558.98643, 53955.27033,
+ 85504.56864, 13830.14932, 9515.16889, 98472.57733,
+ 84736.51036, 21878.60046},
+ },
+ .want_ret_value = 47432,
},
};
uc_init();
for (size_t i = 0; i < (sizeof(cases) / sizeof(cases[0])); ++i) {
printf("## Case %zu:\n", i);
- for (int j = 0; j < cases[i].num_updates; ++j) {
- CHECK_ZERO(distribution_update(
- cases[i].fam->metric.ptr[0].value.distribution, cases[i].updates[j]));
+ for (size_t k = 0; k < cases[i].fam->metric.num; ++k) {
+ for (size_t l = 0; l <= k; ++l) {
+ for (size_t j = 0; j < cases[i].num_updates[l]; ++j) {
+ CHECK_ZERO(distribution_update(
+ cases[i].fam->metric.ptr[k].value.distribution,
+ cases[i].updates[l][j]));
+ }
+ }
}
CHECK_ZERO(uc_update(cases[i].fam));