authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-09-07 10:48:11-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-09-10 12:27:57-04:00
log6459212ebe20da1607ea3b56bff37b7ace019343
tree84fb321641fd519d36113392703b881f9f40d9e3
parentf34b19825133ff13ea6e9faa576aa253f4d1252c

Dwarf: implement and test segmented list


1 files changed, 182 insertions(+), 0 deletions(-)

test/src/Debugger.zig+182
......@@ -1299,6 +1299,7 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void {
12991299 \\ x = fabsf(x);
13001300 \\ _ = &x;
13011301 \\}
1302 \\
13021303 ,
13031304 },
13041305 },
......@@ -1324,6 +1325,187 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void {
13241325 \\1 breakpoints deleted; 0 breakpoint locations disabled.
13251326 },
13261327 );
1328 db.addLldbTest(
1329 "segmented_list",
1330 target,
1331 &.{
1332 .{
1333 .path = "main.zig",
1334 .source =
1335 \\const std = @import("std");
1336 \\fn testSegmentedList() void {}
1337 \\pub fn main() !void {
1338 \\ var list0: std.SegmentedList(usize, 0) = .{};
1339 \\ defer list0.deinit(std.heap.page_allocator);
1340 \\
1341 \\ var list1: std.SegmentedList(usize, 1) = .{};
1342 \\ defer list1.deinit(std.heap.page_allocator);
1343 \\
1344 \\ var list2: std.SegmentedList(usize, 2) = .{};
1345 \\ defer list2.deinit(std.heap.page_allocator);
1346 \\
1347 \\ var list4: std.SegmentedList(usize, 4) = .{};
1348 \\ defer list4.deinit(std.heap.page_allocator);
1349 \\
1350 \\ for (0..32) |i| {
1351 \\ try list0.append(std.heap.page_allocator, i);
1352 \\ try list1.append(std.heap.page_allocator, i);
1353 \\ try list2.append(std.heap.page_allocator, i);
1354 \\ try list4.append(std.heap.page_allocator, i);
1355 \\ }
1356 \\ testSegmentedList();
1357 \\}
1358 \\
1359 ,
1360 },
1361 },
1362 \\breakpoint set --file main.zig --source-pattern-regexp 'testSegmentedList\(\);'
1363 \\process launch
1364 \\frame variable list0 list1 list2 list4
1365 \\breakpoint delete --force 1
1366 ,
1367 &.{
1368 \\(lldb) frame variable list0 list1 list2 list4
1369 \\(std.segmented_list.SegmentedList(usize,0)) list0 = len=32 {
1370 \\ [0] = 0
1371 \\ [1] = 1
1372 \\ [2] = 2
1373 \\ [3] = 3
1374 \\ [4] = 4
1375 \\ [5] = 5
1376 \\ [6] = 6
1377 \\ [7] = 7
1378 \\ [8] = 8
1379 \\ [9] = 9
1380 \\ [10] = 10
1381 \\ [11] = 11
1382 \\ [12] = 12
1383 \\ [13] = 13
1384 \\ [14] = 14
1385 \\ [15] = 15
1386 \\ [16] = 16
1387 \\ [17] = 17
1388 \\ [18] = 18
1389 \\ [19] = 19
1390 \\ [20] = 20
1391 \\ [21] = 21
1392 \\ [22] = 22
1393 \\ [23] = 23
1394 \\ [24] = 24
1395 \\ [25] = 25
1396 \\ [26] = 26
1397 \\ [27] = 27
1398 \\ [28] = 28
1399 \\ [29] = 29
1400 \\ [30] = 30
1401 \\ [31] = 31
1402 \\}
1403 \\(std.segmented_list.SegmentedList(usize,1)) list1 = len=32 {
1404 \\ [0] = 0
1405 \\ [1] = 1
1406 \\ [2] = 2
1407 \\ [3] = 3
1408 \\ [4] = 4
1409 \\ [5] = 5
1410 \\ [6] = 6
1411 \\ [7] = 7
1412 \\ [8] = 8
1413 \\ [9] = 9
1414 \\ [10] = 10
1415 \\ [11] = 11
1416 \\ [12] = 12
1417 \\ [13] = 13
1418 \\ [14] = 14
1419 \\ [15] = 15
1420 \\ [16] = 16
1421 \\ [17] = 17
1422 \\ [18] = 18
1423 \\ [19] = 19
1424 \\ [20] = 20
1425 \\ [21] = 21
1426 \\ [22] = 22
1427 \\ [23] = 23
1428 \\ [24] = 24
1429 \\ [25] = 25
1430 \\ [26] = 26
1431 \\ [27] = 27
1432 \\ [28] = 28
1433 \\ [29] = 29
1434 \\ [30] = 30
1435 \\ [31] = 31
1436 \\}
1437 \\(std.segmented_list.SegmentedList(usize,2)) list2 = len=32 {
1438 \\ [0] = 0
1439 \\ [1] = 1
1440 \\ [2] = 2
1441 \\ [3] = 3
1442 \\ [4] = 4
1443 \\ [5] = 5
1444 \\ [6] = 6
1445 \\ [7] = 7
1446 \\ [8] = 8
1447 \\ [9] = 9
1448 \\ [10] = 10
1449 \\ [11] = 11
1450 \\ [12] = 12
1451 \\ [13] = 13
1452 \\ [14] = 14
1453 \\ [15] = 15
1454 \\ [16] = 16
1455 \\ [17] = 17
1456 \\ [18] = 18
1457 \\ [19] = 19
1458 \\ [20] = 20
1459 \\ [21] = 21
1460 \\ [22] = 22
1461 \\ [23] = 23
1462 \\ [24] = 24
1463 \\ [25] = 25
1464 \\ [26] = 26
1465 \\ [27] = 27
1466 \\ [28] = 28
1467 \\ [29] = 29
1468 \\ [30] = 30
1469 \\ [31] = 31
1470 \\}
1471 \\(std.segmented_list.SegmentedList(usize,4)) list4 = len=32 {
1472 \\ [0] = 0
1473 \\ [1] = 1
1474 \\ [2] = 2
1475 \\ [3] = 3
1476 \\ [4] = 4
1477 \\ [5] = 5
1478 \\ [6] = 6
1479 \\ [7] = 7
1480 \\ [8] = 8
1481 \\ [9] = 9
1482 \\ [10] = 10
1483 \\ [11] = 11
1484 \\ [12] = 12
1485 \\ [13] = 13
1486 \\ [14] = 14
1487 \\ [15] = 15
1488 \\ [16] = 16
1489 \\ [17] = 17
1490 \\ [18] = 18
1491 \\ [19] = 19
1492 \\ [20] = 20
1493 \\ [21] = 21
1494 \\ [22] = 22
1495 \\ [23] = 23
1496 \\ [24] = 24
1497 \\ [25] = 25
1498 \\ [26] = 26
1499 \\ [27] = 27
1500 \\ [28] = 28
1501 \\ [29] = 29
1502 \\ [30] = 30
1503 \\ [31] = 31
1504 \\}
1505 \\(lldb) breakpoint delete --force 1
1506 \\1 breakpoints deleted; 0 breakpoint locations disabled.
1507 },
1508 );
13271509}
13281510
13291511const File = struct { import: ?[]const u8 = null, path: []const u8, source: []const u8 };