caneka

A programming langauge for streams and lifecycles

=

Caneka Tests run 1739322513 (Tue Feb 11 07:08:33 PM CST 2025)

commit 4d5dc971473c930904408cd642e37201c1727442
Suite Caneka pass:53 fail:0 BaseMem:0 360b 32k

Suite Caneka

Basic Features

Core feature complete

Initializing core system tests

  1. String size has no modulus for span default size, have 0
  2. String fixed size has no modulus for span default size, have 0
  3. String full size has no modulus for span default size, have 0
  4. mem: at 0 0b
String feature complete

Tests for the basic string object and convienience features

  1. Expect string to have fixed type TYPE_STRING_FIXED found TYPE_STRING_FIXED
  2. Expect string length of 2 found 2
  3. Expect string match of 'Hi' found 'Hi'
  4. Expect string to have chain type TYPE_STRING_CHAIN found TYPE_STRING_CHAIN
  5. Expect string length of 3396 found 3396
  6. Expect string match of long string
  7. Expect for int value 35072 length of 5 found 5
  8. Expect string match of int of 35072 to string
  9. Expect length 271, have 271
  10. Expect string match of 'GET /path.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0 Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8 ' to be TRUE
  11. Comparing long string made in pieces
  12. mem: at 0 0b
String - End Matches feature complete

Tests for Matching the end of the string

  1. file ending in '.c' matches successfully, had 'file1.c'
  2. file ending in '.cnk' matches successfully, had 'file1.cnk'
  3. file ending in '.cnk' matches ".c" after String_Trunc successfully, had 'file1.c'
  4. file ending in 'bork!' matches successfully, had 'Super long sentance that spans more than a single chunk, but ends in a very special word and the word is so amazing it's like super duper, amazingly amazing, like the most amazing-ness waste of a long sentence that could have been '
  5. mem: at 0 0b
String - B64 feature complete

Tests base 64 encoded strings

  1. String has been encoded in base64, have 'U29tZSBjb250ZW50IHRvIGJlIGI2NCBlbmNvZGVkLg=='
  2. String has been decoded from base64 to match original, expecting 'Some content to be b64 encoded.', have 'S00e00o00e00 00 00 00400n00d00d'
  3. mem: at 0 0b
Span feature complete

Span is the basic data structure for sequential or logorithmic storage access.

  1. Span has type span TYPE_SPAN found TYPE_SPAN
  2. Span item 0 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  3. String 1 equals Hello there found Hello there
  4. Span item 2 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  5. String 3 equals Three found Three
  6. Span item 6 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  7. String 7 equals Seven found Seven
  8. Span item 7 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  9. String 8 equals Eight found Eight
  10. After expand, Span item 0 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  11. String 1 equals Hello there found Hello there
  12. After expand,Span item 2 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  13. String 3 equals Three found Three
  14. After expand,Span item 6 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  15. String 7 equals Seven found Seven
  16. After expand, Span item 7 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  17. String 8 equals Eight found Eight
  18. Span item 512 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  19. String 512 equals Five Twelve found Five Twelve
  20. Span item 4079 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  21. String 4079 equals Four Hundred Seventy Nine found Four Hundred Seventy Nine
  22. Span item 513 has type string TYPE_STRING_FIXED found TYPE_STRING_FIXED
  23. String 513 equals Five Thirteen found Five Thirteen
  24. mem: at 0 0b
SpanSetup feature complete

This tests the setup for a variety of Span configurations.

  1. Span stride is 16, have 16
  2. Span idxStride is 16, have 16
  3. Span slab has allocated 128 bytes, have 128
  4. Span idxSlab has allocated 128 bytes, have 128
  5. Span needs 1 dims to index into 100, have 1
  6. Span only needs 2 dim to index into 2000, have 2
  7. Queue stride is 16, have 16
  8. Queue idxStride is 16, have 16
  9. Queue slab has allocated 256 bytes, have 256
  10. Queue idxSlab has allocated 256 bytes, have 256
  11. Queue needs 1 dims to index into 100, have 1
  12. Queue only needs 2 dim to index into 2000, have 2
  13. Mini stride is 4, have 4
  14. Mini idxStride is 16, have 16
  15. Mini slab has allocated 32 bytes, have 32
  16. Mini idxSlab has allocated 128 bytes, have 128
  17. Mini needs 2 dims to index into 100, have 2
  18. Mini only needs 3 dim to index into 2000, have 3
  19. SlabSpan stride is 512, have 512
  20. SlabSpan idxStride is 32, have 32
  21. SlabSpan slab has allocated 4096 bytes, have 4096
  22. SlabSpan idxSlab has allocated 512 bytes, have 512
  23. SlabSpan needs 0 dims to index into 100, have 0
  24. SlabSpan only needs 1 dim to index into 2000, have 1
  25. mem: at 0 0b
SpanInline feature complete

Inline spans hold data directly in thier memory space, instead of storing pointers to data held elsewhere.

  1. Inline Span idx 0 match expected 12 have 12
  2. Inline Span idx 1 match expected 45 have 45
  3. Inline Span idx 45 match expected 72 have 72
  4. mem: at 0 0b
MemCtx Tests feature complete

Testing the underlying memory manager to ensure leaks have not occured in specific cases..

    making string 1
  1. All count and Stack count differ
  2. Stack count has one String size of difference from all count, have 248
  3. Total is the size of two mem slabs, have 8192
  4. Total is the size of one mem slabs after free temp, have 4096
  5. mem: at 0 0b
Hash feature complete

Tests for the Hash object which used for table storage and comparison of a few Polymorphic data types.

  1. Expected hash to equal 4291084750259606489, found: 4291084750259606489
  2. mem: at 0 0b
Table feature complete

Auto-scaling hash-table built on top of the Span object and Hash object.

  1. Expect strings to not be NULL from key:Alpha
  2. Expect strings to equal Apples from key:Alpha found Apples
  3. Expect strings to not be NULL from key:Bravo
  4. Expect strings to equal Bandits from key:Bravo found Bandits
  5. Expect strings to not be NULL from key:Charlie
  6. Expect strings to equal Carrots from key:Charlie found Carrots
  7. Expect strings to not be NULL from key:Delta
  8. Expect strings to equal DeadMan from key:Delta found DeadMan
  9. Expect strings to not be NULL from key:Echo
  10. Expect strings to equal Elevator from key:Echo found Elevator
  11. Expect strings to not be NULL from key:Foxtrot
  12. Expect strings to equal Five Minutes from key:Foxtrot found Five Minutes
  13. Expect strings to not be NULL from key:Golf
  14. Expect strings to equal Gophers Are Cool from key:Golf found Gophers Are Cool
  15. Expect strings to not be NULL from key:Hotel
  16. Expect strings to equal Happy Go Lucky from key:Hotel found Happy Go Lucky
  17. Expect strings to not be NULL from key:India
  18. Expect strings to equal Idio-syncratic from key:India found Idio-syncratic
  19. Expect strings to not be NULL from key:Juliet
  20. Expect strings to equal Jockey Rider from key:Juliet found Jockey Rider
  21. mem: at 0 0b
TableResize feature complete

Resize features of the auto-scaling hash-table.

  1. Expect strings to not be NULL from key:Alpha
  2. Expect strings to equal Apples from key:Alpha found Apples
  3. Expect strings to not be NULL from key:Bravo
  4. Expect strings to equal Bandits from key:Bravo found Bandits
  5. Expect strings to not be NULL from key:Charlie
  6. Expect strings to equal Carrots from key:Charlie found Carrots
  7. Expect strings to not be NULL from key:Delta
  8. Expect strings to equal DeadMan from key:Delta found DeadMan
  9. Expect strings to not be NULL from key:Echo
  10. Expect strings to equal Elevator from key:Echo found Elevator
  11. Expect strings to not be NULL from key:Foxtrot
  12. Expect strings to equal Five Minutes from key:Foxtrot found Five Minutes
  13. Expect strings to not be NULL from key:Golf
  14. Expect strings to equal Gophers Are Cool from key:Golf found Gophers Are Cool
  15. Expect strings to not be NULL from key:Hotel
  16. Expect strings to equal Happy Go Lucky from key:Hotel found Happy Go Lucky
  17. Expect strings to not be NULL from key:India
  18. Expect strings to equal Idio-syncratic from key:India found Idio-syncratic
  19. Expect strings to not be NULL from key:Juliet
  20. Expect strings to equal Jockey Rider from key:Juliet found Jockey Rider
  21. Expect strings to not be NULL from key:Kilo
  22. Expect strings to equal Kangaroo from key:Kilo found Kangaroo
  23. Expect strings to not be NULL from key:Lima
  24. Expect strings to equal Lefties from key:Lima found Lefties
  25. Expect strings to not be NULL from key:Mike
  26. Expect strings to equal Mangoes from key:Mike found Mangoes
  27. Expect strings to not be NULL from key:November
  28. Expect strings to equal Neighbourhood Villan from key:November found Neighbourhood Villan
  29. Expect strings to not be NULL from key:Oscar
  30. Expect strings to equal Oasis of Gems from key:Oscar found Oasis of Gems
  31. Expect strings to not be NULL from key:Pappa
  32. Expect strings to equal Pinapple Ham from key:Pappa found Pinapple Ham
  33. Expect strings to not be NULL from key:Quebec
  34. Expect strings to equal Quarterly Report from key:Quebec found Quarterly Report
  35. Expect strings to not be NULL from key:Romeo
  36. Expect strings to equal Rooty Tooty from key:Romeo found Rooty Tooty
  37. Expect strings to not be NULL from key:Sierra
  38. Expect strings to equal Stainless Steel from key:Sierra found Stainless Steel
  39. mem: at 0 0b
TablePreKey feature complete

Testing the ability to add a key and value to a hash table and disperate, yet sequential, times.

  1. Expect SetKey and SetValue to effect the same entry: strings to not be NULL from key:'PreKey'
  2. Expect SetKey and SetValue to effect the same entry: strings to equal 'After Value' from key:'PreKey' found 'After Value'
  3. mem: at 0 0b
IterStr feature complete

Iter Strings are strings that contain arrays of other items.

  1. Expected (0) a and b matches, have 1/73451 vs 1/73451
  2. Expected (1) a and b matches, have 2/73452 vs 2/73452
  3. Expected (2) a and b matches, have 3/73453 vs 3/73453
  4. Expected (3) a and b matches, have 4/73454 vs 4/73454
  5. Expected (4) a and b matches, have 5/73455 vs 5/73455
  6. Expected (5) a and b matches, have 6/73456 vs 6/73456
  7. Expected (6) a and b matches, have 7/73457 vs 7/73457
  8. Expected (7) a and b matches, have 8/73458 vs 8/73458
  9. Expected (8) a and b matches, have 9/73459 vs 9/73459
  10. Expected (9) a and b matches, have 10/734510 vs 10/734510
  11. Expected (10) a and b matches, have 11/734511 vs 11/734511
  12. Expected (11) a and b matches, have 12/734512 vs 12/734512
  13. Expected (12) a and b matches, have 13/734513 vs 13/734513
  14. Expected (13) a and b matches, have 14/734514 vs 14/734514
  15. Expected (14) a and b matches, have 15/734515 vs 15/734515
  16. Expected (15) a and b matches, have 16/734516 vs 16/734516
  17. Expected (16) a and b matches, have 17/734517 vs 17/734517
  18. Expected (17) a and b matches, have 18/734518 vs 18/734518
  19. Expected (18) a and b matches, have 19/734519 vs 19/734519
  20. Expected (19) a and b matches, have 20/734520 vs 20/734520
  21. Expected (20) a and b matches, have 21/734521 vs 21/734521
  22. Expected (21) a and b matches, have 22/734522 vs 22/734522
  23. Expected (22) a and b matches, have 23/734523 vs 23/734523
  24. Expected (23) a and b matches, have 24/734524 vs 24/734524
  25. Expected (24) a and b matches, have 25/734525 vs 25/734525
  26. Expected (25) a and b matches, have 26/734526 vs 26/734526
  27. Expected (26) a and b matches, have 27/734527 vs 27/734527
  28. Expected (27) a and b matches, have 28/734528 vs 28/734528
  29. Expected (28) a and b matches, have 29/734529 vs 29/734529
  30. Expected (29) a and b matches, have 30/734530 vs 30/734530
  31. Expected (30) a and b matches, have 31/734531 vs 31/734531
  32. Expected (31) a and b matches, have 32/734532 vs 32/734532
  33. Expected (32) a and b matches, have 33/734533 vs 33/734533
  34. Expected (33) a and b matches, have 34/734534 vs 34/734534
  35. Expected (34) a and b matches, have 35/734535 vs 35/734535
  36. Expected (35) a and b matches, have 36/734536 vs 36/734536
  37. Expected (36) a and b matches, have 37/734537 vs 37/734537
  38. Expected (37) a and b matches, have 38/734538 vs 38/734538
  39. Expected (38) a and b matches, have 39/734539 vs 39/734539
  40. Expected (39) a and b matches, have 40/734540 vs 40/734540
  41. Expected (40) a and b matches, have 41/734541 vs 41/734541
  42. Expected (41) a and b matches, have 42/734542 vs 42/734542
  43. Expected (42) a and b matches, have 43/734543 vs 43/734543
  44. Expected (43) a and b matches, have 44/734544 vs 44/734544
  45. Expected (44) a and b matches, have 45/734545 vs 45/734545
  46. Expected (45) a and b matches, have 46/734546 vs 46/734546
  47. Expected (46) a and b matches, have 47/734547 vs 47/734547
  48. Expected (47) a and b matches, have 48/734548 vs 48/734548
  49. Expected (48) a and b matches, have 49/734549 vs 49/734549
  50. Expected (49) a and b matches, have 50/734550 vs 50/734550
  51. Expected (50) a and b matches, have 51/734551 vs 51/734551
  52. Expected (51) a and b matches, have 52/734552 vs 52/734552
  53. Expected (52) a and b matches, have 53/734553 vs 53/734553
  54. Expected (53) a and b matches, have 54/734554 vs 54/734554
  55. Expected (54) a and b matches, have 55/734555 vs 55/734555
  56. Expected (55) a and b matches, have 56/734556 vs 56/734556
  57. Expected (56) a and b matches, have 57/734557 vs 57/734557
  58. Expected (57) a and b matches, have 58/734558 vs 58/734558
  59. Expected (58) a and b matches, have 59/734559 vs 59/734559
  60. Expected (59) a and b matches, have 60/734560 vs 60/734560
  61. Expected (60) a and b matches, have 61/734561 vs 61/734561
  62. Expected (61) a and b matches, have 62/734562 vs 62/734562
  63. Expected (62) a and b matches, have 63/734563 vs 63/734563
  64. Expected (63) a and b matches, have 64/734564 vs 64/734564
  65. Expected (64) a and b matches, have 65/734565 vs 65/734565
  66. Expected (65) a and b matches, have 66/734566 vs 66/734566
  67. Expected (66) a and b matches, have 67/734567 vs 67/734567
  68. Expected (67) a and b matches, have 68/734568 vs 68/734568
  69. Expected (68) a and b matches, have 69/734569 vs 69/734569
  70. mem: at 0 0b

Roebling Parser

Match feature complete

Character pattern matching system for the Roebling parser.

  1. Non match has unsuccessful state found NOOP,0=00000000
  2. Matching string has successful state found SUCCESS,0=00000000
  3. Matched length of string, less termMatching, expected 14 have 14
  4. mem: at 0 0b
MatchElastic feature complete

Elastic, (length undetermined) match testing for character patterns of the Roebling parser.

  1. Has PROCESSING status PROCESSING,0=00000000
  2. On second pos, position is 0
  3. Tag -Stopped on the fourth character
  4. Tag -Found three chars
  5. Tag- Found SUCCESS have SUCCESS,4=00000100 <<10,
  6. Tag -At end
  7. Att - Found 4 chars, count is 4
  8. mem: at 0 0b
MatchKo feature complete

Testing the knockout and content termination capabilities of the match system.

  1. Length matches for string that has no escape or closing quote 25
  2. Length matches for string minus escape cahrs that has two escapes in it, expecting 34, have 36
  3. Length matches for string that has a terminator quote in it, have 33
  4. Length matches for string that has a escaped terminator quote in it, have 40
  5. It took 10 counts to get to the end, have 9
  6. Terminator 'end' is omited from the count expecting 7, have 7
  7. terminator 'end' is omited and last punctuation as well, from the count, expecting 32, have 32
  8. counted first letter only, have 1
  9. mem: at 0 0b
StrSnip feature complete

Test for snip ranges of strings to copy.

  1. Expected String without quotes, have 'You Be The "Best"'
  2. mem: at 0 0b
StrSnip Boundry feature complete

Test for snip ranges of strings to copy in large strings.

  1. Expect SNS from match to equals expected SNS built manually
  2. Expected String without quotes or newlines, have 'The Brooklyn Bridge contains four main cables, which descend from the tops of the suspension towers and help support the deck. Two are located to the outside of the bridge's roadways, while two are in the median of the roadways.[7] Each main cable measures 15.75 inches (40.0 cm) in diameter and contains 5,282 parallel, galvanized steel wires wrapped closely together in a cylindrical shape.[6][46][47] These wires are bundled in 19 individual strands, with 278 wires to a strand.[46] This was the first use of bundling in a suspension bridge and took several months for workers to tie together.[48] Since the 2000s, the main cables have also supported a series of 24-watt LED lighting fixtures, referred to as "necklace lights" due to their shape.[49] In addition, either 1,088,[25] 1,096,[50] or 1,520 galvanized steel wire suspender cables hang downward from the main cables.[23] Another 400 cable stays extend diagonally from the towers. The vertical suspender cables and diagonal cable stays hold up the truss structure around the bridge deck.[23][25][50] The bridge's suspenders originally used wire rope, which was replaced in the 1980s with galvanized steel made by Bethlehem Steel.[23][51] The vertical suspender cables measure 8 to 130 feet (2.4 to 39.6 m) long, and the diagonal stays measure 138 to 449 feet (42 to 137 m) long.[50] '
  3. mem: at 0 0b
Roebling feature complete

Tests for the Roebling character pattern matching parser, with programmable hooks and capture ranges.

  1. Roebling has four match values loaded up, have 4
  2. mem: at 0 0b
RoeblingRun feature complete

Run state variables for the Roebling parser.

  1. Roebling has state ROEBLING_NEXT
  2. Content equals expected, have TWO
  3. Match Idx equals expected
  4. Roebling has captured the rest of the line, expected 'for the weekend', have 'for the weekend'
  5. Roebling has state ROEBLING_NEXT
  6. Roebling has state SUCCESS
  7. mem: at 0 0b
RoeblingMark feature complete

Mark and jump behavior tests for the Roebling parser.

  1. Content equals TWO, have TWO
  2. Roebling has state ROEBLING_NEXT after 'TWO'
  3. Roebling has captured the rest of the line: 'for the weekend'
  4. Roebling has state ROEBLING_NEXT after 'for the weekend'
  5. Content equals ONE, have ONE
  6. Roebling has state ROEBLING_NEXT after 'ONE'
  7. Roebling has captured the rest of the line: 'for good measure'
  8. Roebling has state ROEBLING_NEXT
  9. Content equals THREE, have THREE
  10. Roebling has state ROEBLING_NEXT
  11. Roebling has captured the rest of the line: 'for all!'
  12. Roebling has state ROEBLING_NEXT
  13. Roebling has state SUCCESS SUCCESS,0=00000000
  14. mem: at 0 0b
RoeblingStartSop feature complete

Pausable behavior for the Roebling parser, to be able to handle partial input, and resume when more input is added.

  1. String equals 'Hi how are you today?', have 'Hi how are you today?'
  2. mem: at 0 0b

Roebling Formats

XML feature complete

Basic XML parsing implemented using the Roebling Parser

  1. Root node equals 'main' have 'main'
  2. Jump next to expected mark XML_ATTROUTE
  3. XmlCtx has state SUCCSS, have SUCCESS,0=00000000
  4. mem: at 0 0b
XMLNested feature complete

Nested XML parsing implemented using the Roebling Parser

  1. Attribute has name 'type', have 'type'
  2. Attribute Value to be 'root', have 'root'
  3. Jump set to XML_START
  4. Body is not null
  5. Whitespace before tag added as body, have '\n '
  6. Expected att value: 'fancy-pants', have 'foo'
  7. Expected att value: 'fancy-pants', have ''
  8. Expected body value: 'Gotta Get It!', have 'Gotta Get It!'
  9. NodeName is 'alpha', have 'alpha'
  10. Second NodeName is 'alpha', have 'alpha'
  11. XML has state success
  12. mem: at 0 0b
XMLParser feature complete

Fully featured XML parsing implemented using the Roebling Parser

  1. XML has state success
  2. XML node has expected body, have 'The World is Upside Down!'
  3. mem: at 0 104b 8k
XMLStringType feature complete

Identify string types during parsing (NUM/CASH)

  1. String root is normal, no flags for 'root', have 0
  2. String is idendified as FLAG_STRING_IS_CASH for '${fancy}', have 2048
  3. String is idendified as FLAG_STRING_IS_NUM for '19', have 512
  4. String is idendified as FLAG_STRING_IS_NUM for '3', have 512
  5. String body is normal, no flags for 'Not a cash', have 0
  6. Sub-element body is idendified as FLAG_STRING_IS_CASH for '${body}', have 2048
  7. mem: at 0 232b 20k
Http feature complete

HTTP protocol parsing using the Roebling Parser

  1. captureKey is as expected HTTP_METHOD, have 138/HTTP_METHOD
  2. Expected content 'GET', have 'GET'
  3. captureKey is as expected HTTP_PATH, have 144/HTTP_PATH
  4. Expected content '/path.html', have '/path.html'
  5. captureKey is as expected HTTP_PROTO, have 145/HTTP_PROTO
  6. Expected content 'HTTP/1.1', have 'HTTP/1.1'
  7. captureKey is as expected HTTP_HEADER, have 146/HTTP_HEADER
  8. Expected content 'Host', have 'Host'
  9. captureKey is as expected HTTP_HEADER_VALUE, have 147/HTTP_HEADER_VALUE
  10. Expected content 'localhost', have 'localhost'
  11. captureKey is as expected HTTP_HEADER, have 146/HTTP_HEADER
  12. Expected content 'User-Agent', have 'User-Agent'
  13. captureKey is as expected HTTP_HEADER_VALUE, have 147/HTTP_HEADER_VALUE
  14. Expected content 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0', have 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0'
  15. captureKey is as expected HTTP_HEADER, have 146/HTTP_HEADER
  16. Expected content 'Connection', have 'Connection'
  17. captureKey is as expected HTTP_HEADER_VALUE, have 147/HTTP_HEADER_VALUE
  18. Expected content 'keep-alive', have 'keep-alive'
  19. captureKey is as expected HTTP_HEADER, have 146/HTTP_HEADER
  20. Expected content 'Accept', have 'Accept'
  21. captureKey is as expected HTTP_HEADER_VALUE, have 147/HTTP_HEADER_VALUE
  22. Expected content 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8', have 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8'
  23. captureKey is as expected HTTP_END, have 148/HTTP_END
  24. Reached end of test captures, have 12
  25. Roebling HttpParser has state SUCCESS, have 'SUCCESS,0=00000000 '
  26. mem: at 0 232b 20k
TermIo - Roebling Format feature complete

Digesting terminal output to consider control characters, such as color and motion.

  1. File loaded and without error
  2. First is empty text
  3. Then Command Mode '['
  4. Then the number '34'
  5. Then the color comand 'm'
  6. Followed by some text TERMIO_TEXT/'[Cleaning build]'
  7. Set mode
  8. Set no color (0)
  9. Set mode is color
  10. Text content for newline
  11. Set mode
  12. Color yellow (33)
  13. Set color cmd
  14. Have expected text TERMIO_TEXT/'Making Directory build/libcaneka'
  15. mem: at 0 232b 20k
Oset feature complete

Oset serialization format tests (similar features to XML, JSON, or YAML).

  1. String equals expected, have 'there'
  2. mem: at 0 256b 24k

Scheduling

Queue feature complete

Queue built on top of the Span storage architecture.

  1. six has replaed idx 1
  2. midwest has replaed idx 17
  3. mem: at 0 256b 24k
QueueNext feature complete

Queue iteration behaviour, built on top of the Span storage architecture.

  1. Expect queue to have 67 values, have 67
  2. Expect first item to be zero_s, have zero
  3. Expect second item to be one_s, have one
  4. Expect item 2 to be from all109_s(two), have two
  5. Expect item 3 to be from all109_s(three), have three
  6. Expect item 4 to be from all109_s(four), have four
  7. Expect item 5 to be from all109_s(five), have five
  8. Expect item 6 to be from all109_s(six), have six
  9. Expect item 7 to be from all109_s(seven), have seven
  10. Expect item 8 to be from all109_s(eight), have eight
  11. Expect item 9 to be from all109_s(nine), have nine
  12. Expect item 10 to be from all109_s(ten), have ten
  13. Expect item 11 to be from all109_s(eleven), have eleven
  14. Expect item 12 to be from all109_s(twelve), have twelve
  15. Expect item 13 to be from all109_s(thirteen), have thirteen
  16. Expect item 14 to be from all109_s(fourteen), have fourteen
  17. Expect item 15 to be from all109_s(fifteen), have fifteen
  18. Expect item 16 to be from all109_s(sixteen), have sixteen
  19. Expect item 17 to be from all109_s(seventeen), have seventeen
  20. Expect item 18 to be from all109_s(eighteen), have eighteen
  21. Expect item 19 to be from all109_s(nineteen), have nineteen
  22. Expect item 20 to be from all109_s(twenty), have twenty
  23. Expect item 21 to be from all109_s(twentyOne), have twentyOne
  24. Expect item 22 to be from all109_s(twentyTwo), have twentyTwo
  25. Expect item 23 to be from all109_s(twentyThree), have twentyThree
  26. Expect item 24 to be from all109_s(twentyFour), have twentyFour
  27. Expect item 25 to be from all109_s(twentyFive), have twentyFive
  28. Expect item 26 to be from all109_s(twentySix), have twentySix
  29. Expect item 27 to be from all109_s(twentySeven), have twentySeven
  30. Expect item 28 to be from all109_s(twentyEight), have twentyEight
  31. Expect item 29 to be from all109_s(twentyNine), have twentyNine
  32. Expect item 30 to be from all109_s(thirty), have thirty
  33. Expect item 31 to be from all109_s(thirtyOne), have thirtyOne
  34. Expect item 32 to be from all109_s(thirtyTwo), have thirtyTwo
  35. Expect item 33 to be from all109_s(thirtyThree), have thirtyThree
  36. Expect item 34 to be from all109_s(thirtyFour), have thirtyFour
  37. Expect item 35 to be from all109_s(thirtyFive), have thirtyFive
  38. Expect item 36 to be from all109_s(thirtySix), have thirtySix
  39. Expect item 37 to be from all109_s(thirtySeven), have thirtySeven
  40. Expect item 38 to be from all109_s(thirtyEight), have thirtyEight
  41. Expect item 39 to be from all109_s(thirtyNine), have thirtyNine
  42. Expect item 40 to be from all109_s(fourty), have fourty
  43. Expect item 41 to be from all109_s(fourtyOne), have fourtyOne
  44. Expect item 42 to be from all109_s(fourtyTwo), have fourtyTwo
  45. Expect item 43 to be from all109_s(fourtyThree), have fourtyThree
  46. Expect item 44 to be from all109_s(fourtyFour), have fourtyFour
  47. Expect item 45 to be from all109_s(fourtyFive), have fourtyFive
  48. Expect item 46 to be from all109_s(fourtySix), have fourtySix
  49. Expect item 47 to be from all109_s(fourtySeven), have fourtySeven
  50. Expect item 48 to be from all109_s(fourtyEight), have fourtyEight
  51. Expect item 49 to be from all109_s(fourtyNine), have fourtyNine
  52. Expect item 50 to be from all109_s(fifty), have fifty
  53. Expect item 51 to be from all109_s(fiftyOne), have fiftyOne
  54. Expect item 52 to be from all109_s(fiftyTwo), have fiftyTwo
  55. Expect item 53 to be from all109_s(fiftyThree), have fiftyThree
  56. Expect item 54 to be from all109_s(fiftyFour), have fiftyFour
  57. Expect item 55 to be from all109_s(fiftyFive), have fiftyFive
  58. Expect item 56 to be from all109_s(fiftySix), have fiftySix
  59. Expect item 57 to be from all109_s(fiftySeven), have fiftySeven
  60. Expect item 58 to be from all109_s(fiftyEight), have fiftyEight
  61. Expect item 59 to be from all109_s(fiftyNine), have fiftyNine
  62. Expect item 60 to be from all109_s(sixty), have sixty
  63. Expect item 61 to be from all109_s(sixtyOne), have sixtyOne
  64. Expect item 62 to be from all109_s(sixtyTwo), have sixtyTwo
  65. Expect item 63 to be from all109_s(sixtyThree), have sixtyThree
  66. Expect item 64 to be from all109_s(sixtyFour), have sixtyFour
  67. Expect item 65 to be from all109_s(sixtyFive), have sixtyFive
  68. Expect item 66 to be from all109_s(sixtySix), have sixtySix
  69. Expect i to have reached the max, have 67
  70. mem: at 0 256b 24k
QueueMixed feature complete

Queue iteration with a mix of items missing, built on top of the Span storage architecture.

  1. Expect queue to have 8 values, have 36
  2. Expect queue to have 23 values, have 23
  3. Expect item 0 to be from all109_s(zero), have zero
  4. Expect item 1 to be from all109_s(one), have one
  5. Expect item 2 to be from all109_s(two), have two
  6. Expect item 3 to be from all109_s(three), have three
  7. Expect item 4 to be from all109_s(four), have four
  8. Expect item 5 to be from all109_s(five), have five
  9. Expect item 6 to be from all109_s(six), have six
  10. Expect item 7 to be from all109_s(seven), have seven
  11. Expect item 21 to be from all109_s(twentyOne), have twentyOne
  12. Expect item 22 to be from all109_s(twentyTwo), have twentyTwo
  13. Expect item 23 to be from all109_s(twentyThree), have twentyThree
  14. Expect item 24 to be from all109_s(twentyFour), have twentyFour
  15. Expect item 25 to be from all109_s(twentyFive), have twentyFive
  16. Expect item 26 to be from all109_s(twentySix), have twentySix
  17. Expect item 27 to be from all109_s(twentySeven), have twentySeven
  18. Expect item 28 to be from all109_s(twentyEight), have twentyEight
  19. Expect item 29 to be from all109_s(twentyNine), have twentyNine
  20. Expect item 30 to be from all109_s(thirty), have thirty
  21. Expect item 31 to be from all109_s(thirtyOne), have thirtyOne
  22. Expect item 32 to be from all109_s(thirtyTwo), have thirtyTwo
  23. Expect item 33 to be from all109_s(thirtyThree), have thirtyThree
  24. Expect item 34 to be from all109_s(thirtyFour), have thirtyFour
  25. Expect item 35 to be from all109_s(thirtyFive), have thirtyFive
  26. Expect i to have reached the max, have 23
  27. mem: at 0 256b 24k

CycleServe IO Server

Serve feature complete

Basic CycleServe network server initialization tests.

  1. mem: at 0 256b 24k
ServeHandle feature complete

CycleServe network server request handling tests.

  1. active Req is not null
  2. Req has the second handler set
  3. Req Roebling has status of SUCCESS, have SUCCESS,0=00000000
  4. Proc 20213 existed with status 0
  5. mem: at 0 256b 24k
ServeChunked feature complete

Chunked request (partial HTTP request sent in different requests) for CycleServe network server tests.

  1. active Req is not null
  2. Req has the second handler set
  3. Req Roebling does not have state SUCCESS yet, have PROCESSING,0=00000000
  4. Req Roebling has status of SUCCESS, have SUCCESS,0=00000000
  5. mem: at 0 256b 24k
ServeMultiple feature complete

Concurrent request testing for CycleServe network server.

  1. Multiple count of 22 currently open, have 22
  2. All processes closed, count of 0 currently open, have 0
  3. Served all count of 22 requests, have 22
  4. mem: at 0 256b 24k
ServeCookieSession previously working

Tests to use Roebling to open a session based on an HTTP Cookie Header using IoCtx and Crypto.

  1. mem: at 0 256b 24k
ServeScheduled not started

Regularly scheduled activities in CycleServe using the Queue object.

  1. mem: at 0 256b 24k

Persistance and Storage

IoCtx feature complete

File and storage persistance context tests.

  1. file length match, have 29
  2. String content matches, have: 'Test content here is a thing '
  3. MemLocal value from ctx matches type, have 'TYPE_STRING_FIXED'
  4. MemLocal value from ctx has expected bytes , have 'value'
  5. File value from ctx matches type, have 'TYPE_FILE'
  6. File value from ctx has expected bytes in path , have 'file.one'
  7. dir destroyed /mnt/basic/caneka/tmp/one
  8. mem: at 0 520b 40k
MemLocal - To/From feature complete

Calling To and From persistance functions for MemLocal.

  1. String type has been adjusted to local
  2. String type has been restored to local
  3. Original length is the same, indicating multiple string segment addresses, expected 573, have 573
  4. Type hashed has been changed
  5. Type hashed item has been changed
  6. Type hashed value has been changed
  7. Type hashed has been restored
  8. Type has been changed for span
  9. Type sting has been changed for span item one
  10. Type sting has been changed for span item two
  11. Type sting has been changed for span item three
  12. Type has been restored for span
  13. Type sting has been restored for span item one
  14. Type sting has been restored for span item two
  15. Type sting has been restored for span item three
  16. Type hashed has been changed for table
  17. Type string has been changed for table item one
  18. Type string has been changed for table item two
  19. Type string has been changed for table item three
  20. Type hashed has been restored for table
  21. Type string has been restored for table item one
  22. Type string has been restored for table item two
  23. Type string has been restored for table item three
  24. mem: at 0 520b 40k
MemLocal feature complete

Calling save and restore MemLocal functions.

  1. MemLocal destroy has no errors
  2. Result string length matches
  3. Result key string matches
  4. mem: at 0 520b 40k

Programming Language and Tools

NestedD Flat feature complete

NestedD is a stack based data store for lexical reslution of dataused for template langages templating (such as HTML), Flat scenario.

  1. Test if nested value is expected, have 1
  2. Test if nested second value is expected, have 0
  3. mem: at 0 520b 40k
NestedD With feature complete

NestedD is a stack based data store for lexical reslution of dataused for template langages templating (such as HTML), With scenario.

  1. Name on main level is as expected, found 'SuppaSuppa'
  2. With session scid is as expected, found 'a87c782a'
  3. With session time is as expected, found '1709645616277122774'
  4. Title after outdent on main found 'Master Of It All'
  5. mem: at 0 520b 40k
NestedD For feature complete

NestedD is a stack based data store for lexical reslution of dataused for template langages templating (such as HTML), For scenario.

  1. Name on main level is as expected, found SuppaSuppa
  2. Not yet done
  3. Nested FOR 'name' is as expected, found 'Heavy Metal'
  4. Nested FOR 'category' is as expected, found 'music'
  5. Nested FOR 'status' is as expected, found '2'
  6. Not yet done
  7. Nested FOR 'name' is as expected, found 'Knitting'
  8. Nested FOR 'category' is as expected, found 'sewing'
  9. Nested FOR 'status' is as expected, found '7'
  10. Not yet done
  11. Nested FOR 'name' is as expected, found 'Ramen'
  12. Nested FOR 'category' is as expected, found 'cooking'
  13. Nested FOR 'status' is as expected, found '99'
  14. Nested_Next is done
  15. mem: at 0 520b 40k
XML Templating feature complete

XML templating for building web applications.

  1. XmlT created expected output from:

    Session expires: 2024-03-05T13:33:36.277122774+00

    Blue Sky

    Look Up

    Grass

    Walk barefoot

    Sun

    Blooooooooooood

  2. mem: at 0 520b 40k
CanekaLang - Roebling Syntax partial feature

Tests for the Roebling pattern match portion of Caneka syntax.

  1. ctx item is the root item which is the CNK_LANG_ROEBLING item
  2. Pattern hi-there produces expected C source code
  3. mem: at 0 520b 40k

Security

TextFilter feature complete

Filter any non-visible character below 32 (dec)

  1. normal text is fine, ' Hi There '
  2. normal text is fine, '\{3,21,31}Hello There\{2}'
  3. SUCCESS from adding valid chars have, ' Hi There '
  4. ERROR from adding invalid chars have, ' Hi There '
  5. Length unchanged from erronous bytes add request, have, ' Hi There '
  6. mem: at 0 520b 40k
Crypto - Strings feature complete

Generating Sha256 summaries of strings. And random data strings.

  1. Sha256 matches, have '68760b4a88c113b8ce4aed641911caf8ef01d5969754a20271e601698997881b'
  2. Random string length is expected, have 512
  3. mem: at 0 520b 40k
Crypto - Ecdsa not started

Ecsda sugnatures for strings.

  1. mem: at 0 520b 40k
Crypto - Salty partial feature

Bi-directional encryption with a variable sized key.

  1. Phrase is not null
  2. Test key added to key chain
  3. 'bogus' user is unable to access 'test' key
  4. 'test' user can access 'test' key, have, 'Tests are Fun Fun Fun!Tests are '
  5. Encoded matches from original to result
  6. Decoded matches from original to result
  7. Second decoded matches from original to result
  8. EncPair to oset string is equal, expected 'enc/3={key:s/4=test;enc:s/32=2bfc98b22fb8b02d33ffe258111e3438;length:i64/2=11;}', have 'enc/3={key:s/4=test;enc:s/32=2bfc98b22fb8b02d33ffe258111e3438;length:i64/2=11;}'
  9. mem: at 0 520b 40k
UserTests - PasswordFlow partial feature

A Basic user password flow using CycleServe and IoCtx.

  1. Auth Oset has expected length, have 231
  2. Re-opened user table is not null
  3. Email from newly opened user table matches original, have 'me@example.com'
  4. User Delete has flag SUCCESS
  5. mem: at 0 928b 80k

Email

Smtp previously working

SMTP (email) format parsing with the Roebling parser.

  1. mem: at 0 928b 80k
SmtpSend not started

Email send flow tests with CycleServe and Roebling.

  1. mem: at 0 928b 80k