Navigation seperation fixes #1764
test-results-windows-clang ✅
Report | Passed | Failed | Skipped | Time |
---|---|---|---|---|
build/libs/ai/logs/test_lib_ai_20230711T210227.mocha | 35✅ | 2ms | ||
build/libs/asset/logs/test_lib_asset_20230711T210227.mocha | 57✅ | 162ms | ||
build/libs/check/logs/test_lib_check_20230711T210228.mocha | 7✅ | 1ms | ||
build/libs/cli/logs/test_lib_cli_20230711T210227.mocha | 56✅ | 2ms | ||
build/libs/core/logs/test_lib_core_20230711T210228.mocha | 271✅ | 136ms | ||
build/libs/data/logs/test_lib_data_20230711T210228.mocha | 68✅ | 6ms | ||
build/libs/ecs/logs/test_lib_ecs_20230711T210228.mocha | 82✅ | 32ms | ||
build/libs/geo/logs/test_lib_geo_20230711T210229.mocha | 137✅ | 116ms | ||
build/libs/scene/logs/test_lib_scene_20230711T210229.mocha | 3✅ | 1❌ | 141ms |
✅ build/libs/ai/logs/test_lib_ai_20230711T210227.mocha
35 tests were completed in 2ms with 35 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_node_condition.c | 2✅ | 0ms | ||
test_node_execute.c | 1✅ | 0ms | ||
test_node_failure.c | 1✅ | 0ms | ||
test_node_invert.c | 4✅ | 0ms | ||
test_node_parallel.c | 5✅ | 0ms | ||
test_node_repeat.c | 4✅ | 0ms | ||
test_node_running.c | 1✅ | 0ms | ||
test_node_selector.c | 4✅ | 0ms | ||
test_node_sequence.c | 4✅ | 0ms | ||
test_node_success.c | 1✅ | 0ms | ||
test_node_try.c | 4✅ | 0ms | ||
test_tracer_record.c | 4✅ | 0ms |
✅ test_node_condition.c
node_condition
✅ evaluates to failure when the condition is falsy
✅ evaluates to success when the condition is truthy
✅ test_node_execute.c
node_execute
✅ evaluates to success and updates memory
✅ test_node_failure.c
node_failure
✅ evaluates to failure
✅ test_node_invert.c
node_invert
✅ always evaluates the child node
✅ evaluates to failure when child evaluates to success
✅ evaluates to running when child evaluates to running
✅ evaluates to success when child evaluates to failure
✅ test_node_parallel.c
node_parallel
✅ evaluates all the child nodes
✅ evaluates to failure when all children evaluate to failure
✅ evaluates to failure when it doesn't have any children
✅ evaluates to running when any child evaluates to running
✅ evaluates to success when any child evaluates to success
✅ test_node_repeat.c
node_repeat
✅ always evaluates the child node
✅ evaluates to failure when child evaluates to failure
✅ evaluates to running when child evaluates to running
✅ evaluates to running when child evaluates to success
✅ test_node_running.c
node_running
✅ evaluates to running
✅ test_node_selector.c
node_selector
✅ evaluates to failure when all children evaluate to failure
✅ evaluates to failure when it doesn't have any children
✅ evaluates to running when any child evaluates to running
✅ evaluates to success when any child evaluates to success
✅ test_node_sequence.c
node_sequence
✅ evaluates to failure when any child evaluates to failure
✅ evaluates to running when any child evaluates to running
✅ evaluates to success when all children evaluate to success
✅ evaluates to success when it doesn't have any children
✅ test_node_success.c
node_success
✅ evaluates to success
✅ test_node_try.c
node_try
✅ always evaluates the child node
✅ evaluates to running when child evaluates to failure
✅ evaluates to running when child evaluates to running
✅ evaluates to success when child evaluates to success
✅ test_tracer_record.c
tracer_record
✅ can record information for a named node
✅ can record information for a node with child nodes
✅ can record information for a single node
✅ has no registered nodes before evaluating
✅ build/libs/asset/logs/test_lib_asset_20230711T210227.mocha
57 tests were completed in 162ms with 57 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_loader_behavior.c | 3✅ | 18ms | ||
test_loader_font_ttf.c | 3✅ | 44ms | ||
test_loader_ftx.c | 3✅ | 70ms | ||
test_loader_graphic.c | 3✅ | 97ms | ||
test_loader_inputmap.c | 3✅ | 124ms | ||
test_loader_level.c | 3✅ | 148ms | ||
test_loader_mesh_gltf.c | 3✅ | 173ms | ||
test_loader_mesh_obj.c | 3✅ | 199ms | ||
test_loader_prefab.c | 3✅ | 225ms | ||
test_loader_raw.c | 2✅ | 164ms | ||
test_loader_shader_spv.c | 3✅ | 268ms | ||
test_loader_texture_atlas.c | 3✅ | 293ms | ||
test_loader_texture_ppm.c | 3✅ | 320ms | ||
test_loader_texture_tga.c | 3✅ | 348ms | ||
test_loader_weapon.c | 3✅ | 375ms | ||
test_manager.c | 13✅ | 1s |
✅ test_loader_behavior.c
loader_behavior
✅ can load behavior assets
✅ can unload behavior assets
✅ fails when loading invalid behavior assets
✅ test_loader_font_ttf.c
loader_font_ttf
✅ can load TrueType fonts
✅ can unload TrueType font assets
✅ fails when loading invalid TrueType font files
✅ test_loader_ftx.c
loader_ftx
✅ can load ftx assets
✅ can unload ftx assets
✅ fails when loading invalid ftx files
✅ test_loader_graphic.c
loader_graphic
✅ can load graphic assets
✅ can unload graphic assets
✅ fails when loading invalid graphic files
✅ test_loader_inputmap.c
loader_inputmap
✅ can load inputmaps
✅ can unload inputmap assets
✅ fails when loading invalid inputmap files
✅ test_loader_level.c
loader_level
✅ can load levels
✅ can unload level assets
✅ fails when loading invalid level files
✅ test_loader_mesh_gltf.c
loader_mesh_gltf
✅ can load gltf meshes
✅ can unload gltf mesh assets
✅ fails when loading invalid gltf files
✅ test_loader_mesh_obj.c
loader_mesh_obj
✅ can load obj meshes
✅ can unload obj mesh assets
✅ fails when loading invalid obj files
✅ test_loader_prefab.c
loader_prefab
✅ can load prefab maps
✅ can unload prefab-map assets
✅ fails when loading invalid prefab map files
✅ test_loader_raw.c
loader_raw
✅ can load raw assets
✅ can unload raw assets
✅ test_loader_shader_spv.c
loader_shader_spv
✅ can load SpirV shaders
✅ can unload SpirV shader assets
✅ fails when loading invalid SpirV shader files
✅ test_loader_texture_atlas.c
loader_texture_atlas
✅ can load atlas assets
✅ can unload atlas assets
✅ fails when loading invalid atlas files
✅ test_loader_texture_ppm.c
loader_texture_ppm
✅ can load ppm images
✅ can unload ppm texture assets
✅ fails when loading invalid ppm files
✅ test_loader_texture_tga.c
loader_texture_tga
✅ can load tga images
✅ can unload tga texture assets
✅ fails when loading invalid tga files
✅ test_loader_weapon.c
loader_weapon
✅ can load weapon maps
✅ can unload weapon-map assets
✅ fails when loading invalid weapon map files
✅ test_manager.c
manager
✅ can lookup assets by name
✅ can retrieve the identifier of loaded assets
✅ clears the dirty state after loading
✅ delays load-after-unload by one frame
✅ fails loads for non-existing assets
✅ fails to find any assets with an empty pattern
✅ finds one assets when searching for a specific asset
✅ ignores acquires immediately followed by releases
✅ keeps assets loaded as long as any acquire is still active
✅ loads assets when they are acquired
✅ supports multiple simultaneous loads
✅ supports querying all assets with a wildcard
✅ unloads assets when they are released
✅ build/libs/check/logs/test_lib_check_20230711T210228.mocha
7 tests were completed in 1ms with 7 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_dynarray.c | 3✅ | 0ms | ||
test_fizzbuzz.c | 4✅ | 0ms |
✅ test_dynarray.c
dynarray
✅ can be sorted
✅ increases in size when new elements are pushed
✅ is empty when created
✅ test_fizzbuzz.c
fizzbuzz
✅ otherwise returns the given integer
✅ returns Buzz for multiples of 5
✅ returns Fizz for multiples of 3
✅ returns FizzBuzz for multiples of 3 and 5
✅ build/libs/cli/logs/test_lib_cli_20230711T210227.mocha
56 tests were completed in 2ms with 56 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_app.c | 7✅ | 0ms | ||
test_failure.c | 1✅ | 0ms | ||
test_help.c | 5✅ | 0ms | ||
test_parse.c | 29✅ | 0ms | ||
test_read.c | 11✅ | 0ms | ||
test_validate.c | 3✅ | 0ms |
✅ test_app.c
app
✅ assigns unique ids to args
✅ assigns unique ids to flags
✅ assigns unique ids to flags and args
✅ supports descriptions with preset choices
✅ supports registering a batch of exclusions in a single call
✅ supports registering descriptions for options
✅ supports registering exclusions
✅ test_failure.c
failure
✅ can write a failure page
✅ test_help.c
help
✅ can write a help page for an app with a description
✅ can write a help page for an app with an descriptions, arguments and flags
✅ can write a help page for an app with arguments
✅ can write a help page for an app with flags
✅ can write a help page for an empty app
✅ test_parse.c
parse
✅ fails when omitting required options
✅ fails when omitting the value for a value flag
✅ fails when passing an unknown flag in a flag block
✅ fails when passing an unknown flag in long form
✅ fails when passing an unknown flag in short form
✅ fails when passing the same flag in both short and long form
✅ fails when passing the same flag twice in a flag block
✅ fails when passing the same flag twice in long form
✅ fails when passing the same flag twice in short form
✅ fails when providing a value that is incompatible with the validator
✅ fails when providing more arguments then expected
✅ fails when trying to pass a flag with a value in a flag block
✅ fails when violating an exclusion
✅ ignores empty values
✅ succeeds when passing the required options
✅ succeeds when providing an alternative instead of a required option
✅ supports arguments with multiple values as a mix of single and multiple strings
✅ supports arguments with multiple values as a single string
✅ supports arguments with multiple values as separate strings
✅ supports both short and long forms for flags
✅ supports double dash to stop accepting flags
✅ supports long form flags with a value
✅ supports passing multiple short flags in a single block
✅ supports retrieving argument values
✅ supports short form flags with a value
✅ supports single dash for terminating a list of values
✅ supports value flags with multiple values as a mix of single and multiple strings
✅ supports value flags with multiple values as a single string
✅ supports value flags with multiple values as separate strings
✅ test_read.c
read
✅ returns the default when not providing a choice string
✅ returns the default when not providing a f64
✅ returns the default when not providing a i64
✅ returns the default when not providing a string
✅ returns the default when not providing a u64
✅ returns the default when provided input doesn't match any choice string
✅ returns the index of the provided choice string
✅ returns the provided f64
✅ returns the provided i64
✅ returns the provided string
✅ returns the provided u64
✅ test_validate.c
validate
✅ supports validating f64's
✅ supports validating signed integers
✅ supports validating unsigned integers
✅ build/libs/core/logs/test_lib_core_20230711T210228.mocha
271 tests were completed in 136ms with 271 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_alloc_block.c | 6✅ | 0ms | ||
test_alloc_bump.c | 3✅ | 0ms | ||
test_alloc_chunked.c | 7✅ | 0ms | ||
test_alloc_page.c | 2✅ | 0ms | ||
test_alloc_scratch.c | 1✅ | 0ms | ||
test_array.c | 2✅ | 0ms | ||
test_ascii.c | 14✅ | 0ms | ||
test_base64.c | 5✅ | 0ms | ||
test_bits.c | 16✅ | 0ms | ||
test_bitset.c | 18✅ | 0ms | ||
test_compare.c | 1✅ | 0ms | ||
test_complex.c | 2✅ | 0ms | ||
test_dynarray.c | 16✅ | 0ms | ||
test_dynbitset.c | 8✅ | 0ms | ||
test_dynstring.c | 7✅ | 0ms | ||
test_env.c | 2✅ | 0ms | ||
test_file_iterator.c | 6✅ | 5ms | ||
test_file_monitor.c | 8✅ | 16ms | ||
test_file.c | 12✅ | 14ms | ||
test_float.c | 8✅ | 0ms | ||
test_format.c | 20✅ | 0ms | ||
test_macro.c | 2✅ | 0ms | ||
test_math.c | 12✅ | 0ms | ||
test_memory.c | 16✅ | 0ms | ||
test_path.c | 17✅ | 0ms | ||
test_rng.c | 4✅ | 88ms | ||
test_search.c | 3✅ | 0ms | ||
test_shuffle.c | 1✅ | 0ms | ||
test_sort.c | 2✅ | 0ms | ||
test_string.c | 22✅ | 0ms | ||
test_stringtable.c | 2✅ | 0ms | ||
test_thread.c | 12✅ | 1ms | ||
test_time.c | 6✅ | 0ms | ||
test_unicode.c | 1✅ | 0ms | ||
test_utf8.c | 6✅ | 0ms | ||
test_winutils.c | 1✅ | 0ms |
✅ test_alloc_block.c
alloc_block
✅ allocates new chunks when space runs out
✅ can be reset
✅ fails allocations bigger then the block-size
✅ returns the block-size as the max size
✅ reuses freed blocks immediately
✅ store blocks sequentially in memory
✅ test_alloc_bump.c
alloc_bump
✅ can be reset
✅ respects the requested alignment
✅ tracks the maximum remaining size
✅ test_alloc_chunked.c
alloc_chunked
✅ allocates sequential allocations from the same chunk
✅ can be reset
✅ can create up to 64 chunks
✅ can free allocated memory
✅ can return the maximum allocatable size in any chunk
✅ can use os memory pages as chunks
✅ fails allocations bigger then the chunk-size
✅ test_alloc_page.c
alloc_page
✅ can allocate memory smaller then the page-size
✅ ensures alignment of allocation matches page-size
✅ test_alloc_scratch.c
alloc_scratch
✅ respects the requested alignment
✅ test_array.c
array
✅ can iterate over a static array
✅ can iterate over an array defined by a pointer and a count
✅ test_ascii.c
ascii
✅ can check if a character is a control character
✅ can check if a character is a digit
✅ can check if a character is a hex digit
✅ can check if a character is a letter
✅ can check if a character is a lower-case letter
✅ can check if a character is a newline character
✅ can check if a character is a upper-case letter
✅ can check if a character is a whitespace character
✅ can check if a character is printable
✅ can convert a character to an integer
✅ can convert a character to lower-case
✅ can convert a character to upper-case
✅ can toggle the casing of a character
✅ can verify validity
✅ test_base64.c
base64
✅ can decode content with 2 padding characters
✅ can decode helloworld
✅ can decode the wikipedia base64 example
✅ returns an empty string when decoding an empty string
✅ stops decoding with an invalid character is encountered
✅ test_bits.c
bits
✅ can alias unsigned integers and floats
✅ can align a 32 bit integer
✅ can align a pointer
✅ can check if a 32 bit integer is a power-of-two
✅ can check if a 64 bit integer is a power-of-two
✅ can check if a value satisfies given alignment
✅ can compute population count of a 64 bit mask
✅ can compute the amount of leading zeroes in a 32 bit mask
✅ can compute the amount of leading zeroes in a 64 bit mask
✅ can compute the amount of padding required to align a 32 bit integer
✅ can compute the amount of trailing zeroes in a 32 bit mask
✅ can compute the amount of trailing zeroes in a 64 bit mask
✅ can compute the next power-of-two for a 32 bit integer
✅ can compute the next power-of-two for a 64 bit integer
✅ can compute the population count of a 32 bit mask
✅ can create a mask with a range of set bits
✅ test_bitset.c
bitset
✅ can bitwise 'and' two bitsets
✅ can bitwise 'or' two bitsets
✅ can bitwise 'xor' two bitsets
✅ can check if a bitset contains all bits of another bitset
✅ can check if a bitset contains any bits of another bitset
✅ can check if any bit is set
✅ can compute the index of a set bit
✅ can count set bits
✅ can find set bits
✅ can flip bits
✅ can iterate all set bits
✅ can set all bits up to a certain index
✅ can test for non-set bits
✅ can test for set bits
✅ computes the same index as the iterations number while walking the set bits
✅ returns an invalid next-bit if there are no set bits
✅ returns each bit for a mask with all bits set
✅ treats out-of-bounds bits as unset
✅ test_compare.c
compare
✅ can compare primitive types
✅ test_complex.c
complex
✅ can be multiplied
✅ lists both components when formatted
✅ test_dynarray.c
dynarray
✅ can be resized
✅ can be searched using a binary scan
✅ can be searched using a linear scan
✅ can be sorted
✅ can create a Dynamic-Array with 0 capacity
✅ can create a new empty Dynamic-Array
✅ can find or insert a sorted entry
✅ can get a pointer to the begin
✅ can get a pointer to the end
✅ can insert elements sorted
✅ decreases size while popping items
✅ increases size while pushing new items
✅ moves the last element into the removed slot when using remove_unordered
✅ preserves content while resizing
✅ updates the size when inserting elements
✅ updates the size while removing elements
✅ test_dynbitset.c
dynbitset
✅ always has a size that is a multiple of 64
✅ automatically allocates space when performing a bitwise 'or'
✅ automatically allocates space when performing a set_all
✅ can count set bits
✅ can create an empty Dynamic-BitSet
✅ can test for set bits
✅ returns an invalid next-bit if there are no set bits
✅ returns each bit for a mask with all bits set
✅ test_dynstring.c
dynstring
✅ can append characters
✅ can append sequences of characters
✅ can append strings
✅ can create an empty Dynamic-String
✅ can insert character sequences at specific indices
✅ can insert substrings at specific indices
✅ can push space to the end
✅ test_env.c
env
✅ can check if an environment variable exists
✅ can read the value of an environment variable
✅ test_file_iterator.c
file_iterator
✅ can find multiple files in a directory
✅ fails when iterating a directory that does not exist
✅ fails when iterating a regular file
✅ finds a single entry in a directory with one file
✅ finds a single entry in a directory with one sub-directory
✅ finds zero entries in an empty directory
✅ test_file_monitor.c
file_monitor
✅ can watch a file
✅ can watch multiple files
✅ fails when watching a file that does not exist
✅ fails when watching a file twice
✅ returns a single event when a file is modified
✅ returns false when polling when no modifications have happened
✅ returns false when polling without watching a file
✅ watching fails when the root directory cannot be opened
✅ test_file.c
file
✅ can check if a file exists
✅ can check the file-type of directories
✅ can check the file-type of regular files
✅ can create a new directory
✅ can create a new file by opening a file-handle with 'Create' mode
✅ can read a file to the end
✅ can read file contents through a memory map
✅ can read its own executable
✅ can read-back content that was written
✅ can retrieve the file size
✅ can retrieve the last access and last modification times
✅ can write file contents through a memory map
✅ test_float.c
float
✅ can convert between 32 and 16 bit floats
✅ can detect a NaN float
✅ can detect an infinity float
✅ can quantize 32 bit floats to use a limited amount of mantissa bits
✅ has float max literals
✅ has float min literals
✅ has infinity literals
✅ has NaN literals
✅ test_format.c
format
✅ can read characters
✅ can read f64 floating point numbers
✅ can read i64 integers
✅ can read lines
✅ can read u64 integers
✅ can read whitespace
✅ can write bitsets
✅ can write booleans
✅ can write byte-sizes in pretty format
✅ can write f64 floats
✅ can write FormatArg's
✅ can write formatted strings
✅ can write i64 integers
✅ can write memory as hex
✅ can write text
✅ can write time durations in pretty format
✅ can write time in iso8601 format
✅ can write time in iso8601 format without seperators
✅ can write u64 integers
✅ can write wrapped text
✅ test_macro.c
macro
✅ can count the number of VA_ARGs
✅ can skip the first VA_ARG argument
✅ test_math.c
math
✅ can clamp 32 bit floats
✅ can compute the absolute of the argument
✅ can compute the max argument
✅ can compute the min argument
✅ can compute the sign of the argument
✅ can linearly interpolate values
✅ can linearly un-interpolate values
✅ can move towards a value
✅ can round floats down (floor)
✅ can round floats to nearest
✅ can round floats up (ceil)
✅ can truncate the fractional part of floats
✅ test_memory.c
memory
✅ can check if all bytes are equal to specific byte
✅ can check if it contains a specific byte
✅ can create a dynamicly sized allocation on the stack
✅ can create a memory view from two pointers
✅ can create a memory view over a stack allocated struct
✅ can create a memory view over a variable
✅ can read a 8bit unsigned integer
✅ can read a big-endian encoded 16bit unsigned integer
✅ can read a big-endian encoded 32bit unsigned integer
✅ can read a big-endian encoded 64bit unsigned integer
✅ can read a little-endian encoded 16bit unsigned integer
✅ can read a little-endian encoded 32bit unsigned integer
✅ can read a little-endian encoded 64bit unsigned integer
✅ can splat a value over a memory range
✅ can swap the contents of two memory locations
✅ respects struct alignment
✅ test_path.c
path
✅ can append paths together
✅ can canonize paths
✅ can check if a path is a root
✅ can check if a path is absolute
✅ can generate a random file-name
✅ can generate a timestampped file-name
✅ can retrieve the executable path
✅ can retrieve the extension of a path
✅ can retrieve the file-name of a path
✅ can retrieve the parent of a path
✅ can retrieve the stem of a path
✅ can retrieve the system temp path
✅ can retrieve the working-directory path
✅ doesn't prepend the working-dir when building a path starting from an absolute segment
✅ prepends the working-dir when building a path starting from a relative segment
✅ returns the working-dir when building a path from 0 segments
✅ supports building paths from a collection of segments
✅ test_rng.c
rng
✅ can sample floats with a gaussian distribution
✅ can sample floats with a uniform distribution
✅ can sample random values in a specific range
✅ returns consistent sample results using xorwow with a fixed seed
✅ test_search.c
search
✅ can find elements in ordered data
✅ can find elements in unordered data
✅ can find greater elements in ordered data
✅ test_shuffle.c
shuffle
✅ can shuffle values using the fisheryates algorithm
✅ test_sort.c
sort
✅ can sort i32 integers
✅ can sort strings
✅ test_string.c
string
✅ can be added to a Dynamic-Array
✅ can be sorted
✅ can be trimmed
✅ can be trimmed of whitespace
✅ can check if a string ends with a sub-string
✅ can check if a string is empty
✅ can check if a string starts with a sub-string
✅ can check if strings are equal
✅ can combine strings
✅ can compare strings
✅ can consume characters from a string
✅ can create a string from a null-terminated character array
✅ can find the first occurrence of a single character
✅ can find the first occurrence of a sub-string
✅ can find the first occurrence of any of the specified characters
✅ can find the last occurrence of a sub-string
✅ can find the last occurrence of any of the specified characters
✅ can hash a string
✅ can match glob patterns
✅ can retrieve the last character
✅ can retrieve the length of a string
✅ can slice a string
✅ test_stringtable.c
stringtable
✅ can lookup strings from hashes
✅ can store many strings
✅ test_thread.c
thread
✅ assigns names to threads
✅ can add integers atomically
✅ can compare and exchange integers atomically
✅ can exchange integers atomically
✅ can lock a mutex when its currently unlocked
✅ can lock and unlock a spinlock
✅ can store and load integers atomically
✅ can substract integers atomically
✅ can trylock a mutex when its currently unlocked
✅ fails to trylock when a mutex is currently locked
✅ unblocks all waiters when broadcasting a condition
✅ unlocks atleast one waiter when signaling a condition
✅ test_time.c
time
✅ can compute the date from a real-time
✅ can compute the day-of-the-week from a real-time
✅ can compute the real-time for a date
✅ can compute the time-duration between two dates
✅ can compute the time-duration for dates below year 0
✅ can retrieve the current real-time from the real-clock
✅ test_unicode.c
unicode
✅ can check if a codepoint is ascii
✅ test_utf8.c
utf8
✅ can compute the required utf8 bytes
✅ can compute the total utf8 bytes from the starting character
✅ can count codepoints in a utf8 string
✅ can decode codecpoints from utf8
✅ can encode codepoints as utf8
✅ can validate utf8 strings
✅ test_winutils.c
winutils
✅ can convert a widestr to utf8
✅ build/libs/data/logs/test_lib_data_20230711T210228.mocha
68 tests were completed in 6ms with 68 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_jsonschema.c | 11✅ | 0ms | ||
test_read_json.c | 15✅ | 0ms | ||
test_registry.c | 13✅ | 0ms | ||
test_treeschema.c | 1✅ | 0ms | ||
test_utils_clone.c | 9✅ | 0ms | ||
test_utils_destroy.c | 8✅ | 0ms | ||
test_write_json.c | 11✅ | 0ms |
✅ test_jsonschema.c
jsonschema
✅ supports a boolean type
✅ supports a non-empty string
✅ supports a string
✅ supports arrays
✅ supports enums
✅ supports float types
✅ supports integer type
✅ supports non-empty arrays
✅ supports optional pointer
✅ supports required pointer
✅ supports structures
✅ test_read_json.c
read_json
✅ can read a boolean
✅ can read a number
✅ can read a pointer
✅ can read a string
✅ can read a structure
✅ can read a union of primitive types
✅ can read a union of struct types
✅ can read a union with a name
✅ can read an array
✅ can read an enum
✅ fails when a number is out of bounds
✅ fails when a number value cannot be empty
✅ fails when a pointer value cannot be empty
✅ fails when a string value cannot be empty
✅ fails when an array value cannot be empty
✅ test_registry.c
registry
✅ can forward declare types
✅ can lookup a primitive type's alignment requirement
✅ can lookup a primitive type's name
✅ can lookup a primitive type's size
✅ can lookup the size of a array value
✅ can lookup the size of a plain value
✅ can lookup the size of a pointer value
✅ can register comments to types
✅ can register custom enums
✅ can register custom structs
✅ can register custom unions
✅ can register custom unions with names
✅ can register structs with nested types
✅ test_treeschema.c
treeschema
✅ can write a treeschema file
✅ test_utils_clone.c
utils_clone
✅ can clone a primitive pointer
✅ can clone a string
✅ can clone a structure
✅ can clone a union
✅ can clone a union with a name
✅ can clone an array of primitives
✅ can clone an empty array
✅ can clone an empty string
✅ can clone nested structures
✅ test_utils_destroy.c
utils_destroy
✅ can destroy a primitive pointer
✅ can destroy a string
✅ can destroy a structure
✅ can destroy a union
✅ can destroy a union with a name
✅ can destroy an array of primitives
✅ can destroy an empty string
✅ can destroy nested structures
✅ test_write_json.c
write_json
✅ can write a boolean
✅ can write a number
✅ can write a pointer
✅ can write a string
✅ can write a structure
✅ can write a union of primitive types
✅ can write a union of struct types
✅ can write a union with a name
✅ can write an array
✅ can write an enum
✅ can write numbers with a configurable amount of digits after the decimal point
✅ build/libs/ecs/logs/test_lib_ecs_20230711T210228.mocha
82 tests were completed in 32ms with 82 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_affinity.c | 1✅ | 0ms | ||
test_combinator.c | 4✅ | 3ms | ||
test_def.c | 16✅ | 0ms | ||
test_destruct.c | 6✅ | 1ms | ||
test_entity.c | 3✅ | 0ms | ||
test_graph.c | 3✅ | 0ms | ||
test_runner.c | 1✅ | 8ms | ||
test_storage.c | 11✅ | 2ms | ||
test_utils.c | 9✅ | 0ms | ||
test_view.c | 13✅ | 11ms | ||
test_world.c | 15✅ | 2ms |
✅ test_affinity.c
affinity
✅ executes systems with thread affinity always on the same thread
✅ test_combinator.c
combinator
✅ supports combining a pending component with an existing component
✅ supports combining components with destructors
✅ supports combining many pending components
✅ supports combining pending components
✅ test_def.c
def
✅ can check if a system has access to a view
✅ can retrieve module name of a component
✅ can retrieve module name of a system
✅ can retrieve module name of a view
✅ can retrieve the alignment requirement of registered components
✅ can retrieve the amount of registered components
✅ can retrieve the amount of registered views
✅ can retrieve the default order of a system
✅ can retrieve the default parallel count of a system
✅ can retrieve the name of registered components
✅ can retrieve the name of registered systems
✅ can retrieve the name of registered views
✅ can retrieve the overriden order of a system
✅ can retrieve the overriden parallel count of a system
✅ can retrieve the size of registered components
✅ can retrieve the views of a registered system
✅ test_destruct.c
destruct
✅ destroys components that are still in the world buffer waiting to be flushed
✅ destroys components when destroying entities
✅ destroys components when removing them from entities
✅ destroys pending component additions for a destroyed entity
✅ destroys stored components from all chunks when the world is destroyed
✅ destroys stored components when the world is destroyed
✅ test_entity.c
entity
✅ returns -1 when comparing to an older entity
✅ returns 0 when comparing the same entity
✅ returns 1 when comparing to an newer entity
✅ test_graph.c
graph
✅ creates multiple tasks for parallel systems
✅ creates task dependencies based on the system views
✅ inserts job-graph tasks for all systems
✅ test_runner.c
runner
✅ executes every system once in specified order
✅ test_storage.c
storage
✅ can move entities out of an archetype
✅ can move new entities into an existing archetype
✅ can store entities with only empty components
✅ copies added components into the entities archetype
✅ fills the hole in an archetype when destroying the non-last entity
✅ fills the hole in an archetype when moving the non-last entity out
✅ keeps component data consistent when destroying many entities in the same archetype
✅ keeps component data consistent when splitting an archetype in two
✅ moves component data when moving entities between archetypes
✅ moves entity metadata when moving entities between archetypes
✅ respects component alignment
✅ test_utils.c
utils
✅ can optionally add a component
✅ can optionally remove a component
✅ can read a component on an entity
✅ can read or add a component from a maybe-read iterator
✅ can read the first component from a view
✅ can test if a view contains any entities
✅ can write a component on an entity
✅ can write or add a component from a maybe-write iterator
✅ can write the first component from a view
✅ test_view.c
view
✅ can check if an entity is contained in the view
✅ can iterate over all entities in a single archetype using a stepped iterator
✅ can iterate over entities from multiple archetypes using a stepped iterator
✅ can iterate over entities from multiple chunks in an archetype
✅ can iterate over entities which are missing a component using a maybe-read
✅ can iterate over entities with required components from different archetypes
✅ can optionally jump to entities that exist in the view
✅ can optionally read component values on entities using maybe-read
✅ can read component values on entities
✅ can return the count of components it can read
✅ can write component values on entities
✅ matches all entities that are in an archetype when defining only maybe-reads
✅ skips empty archetypes
✅ test_world.c
world
✅ can add components for many entities
✅ can add empty components
✅ can add multiple components for the same entity
✅ can check for component existence
✅ can override component fields for new components
✅ reports created entities as existing
✅ reports destroyed entities as existing until the next flush
✅ reports the global entity as existing
✅ respects the alignment for added components
✅ stores the definition
✅ supports cancelling empty component removal
✅ supports duplicate additions for empty components
✅ supports duplicate component removals
✅ zero initializes new components
✅ zero initializes new components when providing empty initial mem
✅ build/libs/geo/logs/test_lib_geo_20230711T210229.mocha
137 tests were completed in 116ms with 137 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_box_rotated.c | 1✅ | 0ms | ||
test_box.c | 16✅ | 0ms | ||
test_capsule.c | 1✅ | 0ms | ||
test_color.c | 6✅ | 0ms | ||
test_line.c | 5✅ | 0ms | ||
test_matrix.c | 26✅ | 0ms | ||
test_nav.c | 11✅ | 0ms | ||
test_plane.c | 3✅ | 0ms | ||
test_quat.c | 22✅ | 0ms | ||
test_sphere.c | 3✅ | 0ms | ||
test_vector.c | 43✅ | 110ms |
✅ test_box_rotated.c
box_rotated
✅ can test overlaps with spheres
✅ test_box.c
box
✅ can be created from a center and a size
✅ can check if a box is inverted
✅ can compute a dilated box
✅ can compute the bounding box of a cone
✅ can compute the bounding box of a cylinder
✅ can compute the bounding box of a line
✅ can compute the bounding box of a sphere
✅ can construct an infinitely small box
✅ can retrieve the corners of a 3d box
✅ can test for approximate overlap with 4 frustum planes
✅ can test if two boxes overlap
✅ can test overlaps with spheres
✅ can transform a box
✅ creates a zero-sized box around a point when encapsulating it in inverted box
✅ expands to fit the given points when encapsulating points
✅ is formed by a minimum and maximum point
✅ test_capsule.c
capsule
✅ can test overlaps with spheres
✅ test_color.c
color
✅ can bilinearly interpolate colors
✅ can linearly interpolate colors
✅ divides each component by the scalar when dividing
✅ lists all components when formatted
✅ multiplies each component by the scalar when multiplying
✅ sums all components when adding
✅ test_line.c
line
✅ can compute its direction
✅ can compute its length
✅ can compute the distance squared to a given point
✅ can find the time closest to the given point
✅ can find the time closest to the given ray
✅ test_matrix.c
matrix
✅ applies scale as a multiplier to position and direction vectors
✅ applies translation as an offset to position vectors
✅ can be converted to a quaternion
✅ can be decomposed and recomposed
✅ can convert a quaternion to a rotation matrix
✅ can extract 4 frustum planes from a orthographic projection matrix
✅ can extract the scale vector
✅ can extract the translation vector
✅ can invert orthogonal projection matrices
✅ can invert perspective projection matrices
✅ exchanges the rows and columns when transposing
✅ flips the axis when transforming a vector with a 180 degrees rotation matrix
✅ ignores translation for direction vectors
✅ produces the same matrix for ortho and ortho_box
✅ returns a vector 45 degrees rotated when transforming by a rotate by 45 matrix
✅ returns an identity matrix when multiplying two identity matrices
✅ returns the dot products of the rows and columns when multiplying two matrices
✅ returns the dot products with the rows when transforming a vector
✅ returns the same matrix when multiplying with the identity matrix
✅ returns the same rotation then a quaternion when rotating over a dimensional axis
✅ returns the same vector when transforming with the identity matrix
✅ roundtrips when inverting
✅ scales vectors to clip-space when transforming by an orthogonal box projection matrix
✅ scales vectors to clip-space when transforming by an orthogonal projection matrix
✅ scales vectors to clip-space when transforming by an perspective projection matrix
✅ takes the 4th column into account for transform3 point
✅ test_nav.c
nav
✅ blocks cells if the y position is too hight
✅ can block a single cell
✅ can convert between coordinates and cells
✅ can create a region around a cell
✅ can find the closest unblocked cell
✅ can retrieve the bounding region
✅ can retrieve the cell size
✅ clamps coordinates to the grid edges
✅ ignores blockers above the cell height
✅ ignores blockers below the grid
✅ unblocks cells if the y position is lowered again
✅ test_plane.c
plane
✅ can be constructed from a normal and a point
✅ can find the closest point
✅ can lookup a position on the surface
✅ test_quat.c
quat
✅ can be converted to an angle-axis representation
✅ can be converted to euler angles
✅ can be created from euler angles
✅ can clamp rotations
✅ can combine quaternions
✅ can create a quaternion to rotate to the given axis system
✅ can normalize a quaternion
✅ can normalize a quaternion (even if zero length)
✅ can rotate towards a target rotation
✅ can rotate vectors 180 degrees over y
✅ can rotate vectors 90 degrees over y
✅ can rotate vectors by arbitrary degrees
✅ can rotate vectors by the inverse of 90 degrees over y
✅ can spherically interpolate between two values
✅ has preset quaternions for common rotations
✅ lists all components when formatted
✅ returns an identity quaternion when computing the inverse of a identity quaternion
✅ returns an identity quaternion when multiplying two identity quaternions
✅ returns the difference quaternion when computing a from-to rotation
✅ returns the same vector when rotating by an identity quaternion
✅ round-trips the angle-axis conversion
✅ round-trips the euler conversion
✅ test_sphere.c
sphere
✅ can compute the intersection time with a ray
✅ can test overlaps with other spheres
✅ can test the intersection with a ray
✅ test_vector.c
vector
✅ can bilinearly interpolate vectors
✅ can clamp its magnitude
✅ can clear components
✅ can compute the absolute value of each component
✅ can compute the maximum value of each component
✅ can compute the minimum value of each component
✅ can compute the square root of components
✅ can generate points inside a 3d cone
✅ can generate points inside a 3d unit sphere
✅ can generate points on the surface of a 3d unit sphere
✅ can linearly interpolate vectors
✅ can round down
✅ can round to nearest
✅ can round up
✅ compares the magnitude of the difference vector to a threshold when equated
✅ computes the square-root of the squared components when calculating magnitude
✅ divides each component by the scalar when dividing
✅ divides each component by w when performing a perspective divide
✅ initializes non specified components to 0
✅ lists all components when formatted
✅ multiplies each component by the scalar when multiplying
✅ multiplies each component when dividing component-wise
✅ multiplies each component when multiplying component-wise
✅ returns -1 as the dot product of opposite unit vectors
✅ returns 0 as the dot product of perpendicular unit vectors
✅ returns 0 radians as the angle between parallel vectors
✅ returns 1 as the dot product of equal unit vectors
✅ returns a reverse vector when reflecting a vector onto an opposite normal
✅ returns a unit-vector when normalizing
✅ returns a zero vector when projecting a vector onto a zero vector
✅ returns a zero vector when projecting a zero vector
✅ returns a zero vector when reflecting a zero vector
✅ returns backward as the cross product of up and right
✅ returns forward as the cross product of right and up
✅ returns half pi radians as the angle between perpendicular vectors
✅ returns pi radians as the angle between opposite vectors
✅ returns the cosine of the angle between unit-vectors when calculating the dot product
✅ returns the overlap when projecting a vector onto another
✅ returns the same vector when projecting a vector onto itself
✅ returns the same vector when reflecting a vector onto a zero vector
✅ subtracts all components when subtracting
✅ sums all components when adding
✅ sums all the squared components when calculating the squared magnitude
❌ build/libs/scene/logs/test_lib_scene_20230711T210229.mocha
4 tests were completed in 141ms with 3 passed, 1 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
test_brain.c | 2✅ | 99ms | ||
test_nav.c | 1✅ | 1❌ | 241ms |
✅ test_brain.c
brain
✅ can get/set memory values
✅ updates its memory through its behavior
❌ test_nav.c
nav
✅ can compute a path around an obstacle
❌ sets the locomotion target to the destination
5 == 0
Annotations
Check failure on line 0 in build/libs/scene/logs/test_lib_scene_20230711T210229.mocha
github-actions / test-results-windows-clang
test_nav.c ► nav ► sets the locomotion target to the destination
Failed test found in:
build/libs/scene/logs/test_lib_scene_20230711T210229.mocha
Error:
5 == 0
Raw output
5 == 0
at nav (test_nav.c:90:0)