13.3. Faker

Random test-data generator.

The Faker struct produces random values for every built-in type (integers, floats, vectors, strings, dates, booleans) using configurable ranges. Used by fuzzer for fuzz testing.

All functions and symbols are in “faker” module, use require to get access to it.

require daslib/faker

13.3.1. Structures

Faker

Instance of the faker with all the settings inside.

Fields:
  • min_year : uint = 0x7bc - minimal faker’s year

  • total_years : uint = 0x2a - faker year’s range

  • rnd : iterator<uint> = each_random_uint(13) - fakers random number generator

  • max_long_string : uint = 0x1000 - maximal length of generated string

13.3.2. Constructor

Faker(rng: iterator<uint>): Faker

Constructs a Faker instance with the given random number generator.

Arguments:
  • rng : iterator<uint>

13.3.3. Random values

random_double(faker: Faker): double

Generates random double.

Arguments:
random_float(faker: Faker): float

Generates random float.

Arguments:
random_float2(faker: Faker): float2

Generates random float2.

Arguments:
random_float3(faker: Faker): float3

Generates random float3.

Arguments:
random_float3x3(faker: Faker): float3x3

Generates random float3x3.

Arguments:
random_float3x4(faker: Faker): float3x4

Generates random float3x4.

Arguments:
random_float4(faker: Faker): float4

Generates random float4.

Arguments:
random_float4x4(faker: Faker): float4x4

Generates random float4x4.

Arguments:
random_int(faker: Faker): int

Generates random integer.

Arguments:
random_int16(faker: Faker): int16

Generates random int16.

Arguments:
random_int2(faker: Faker): int2

Generates random int2.

Arguments:
random_int3(faker: Faker): int3

Generates random int3.

Arguments:
random_int4(faker: Faker): int4

Generates random int4.

Arguments:
random_int64(faker: Faker): int64

Generates random int64

Arguments:
random_int8(faker: Faker): int8

Generates random int8.

Arguments:
random_range(faker: Faker): range

Generates random range.

Arguments:
random_range64(faker: Faker): range64

Generates random range64.

Arguments:
random_uint(faker: Faker): uint

Generates random unsigned integer.

Arguments:
random_uint16(faker: Faker): uint16

Generates random uint16.

Arguments:
random_uint2(faker: Faker): uint2

Generates random uint2.

Arguments:
random_uint3(faker: Faker): uint3

Generates random uint3.

Arguments:
random_uint4(faker: Faker): uint4

Generates random uint4.

Arguments:
random_uint64(faker: Faker): uint64

Generates random uint64

Arguments:
random_uint8(faker: Faker): uint8

Generates random uint8.

Arguments:
random_urange(faker: Faker): urange

Generates random urange.

Arguments:
random_urange64(faker: Faker): urange64

Generates random urange64.

Arguments:

13.3.4. Random strings

any_char(faker: Faker): int

Generates random char. (1 to 255 range)

Arguments:
any_enum(faker: Faker; enum_value: auto(TT)): TT

Generates random enumeration value.

Arguments:
  • faker : Faker

  • enum_value : auto(TT)

any_file_name(faker: Faker): string

Generates random file name.

Arguments:
any_float(faker: Faker): string

Generates random float string.

Arguments:
any_hex(faker: Faker): string

Generates random integer hex string.

Arguments:
any_int(faker: Faker): string

Generates random integer string.

Arguments:
any_set(faker: Faker): uint[8]

Generates random set (uint[8])

Arguments:
any_string(faker: Faker): string

Generates a string of random characters. The string is anywhere between 0 and regex::re_gen_get_rep_limit() characters long.

Arguments:
any_uint(faker: Faker): string

Generates random unsigned integer string.

Arguments:
long_string(faker: Faker): string

Generates a long string of random characters. The string is anywhere between 0 and faker.max_long_string characters long.

Arguments:
number(faker: Faker): string

Generates random number string.

Arguments:
positive_int(faker: Faker): string

Generates random positive integer string.

Arguments:

13.3.5. Date and time

date(faker: Faker): string

Generates random date string.

Arguments:
day(faker: Faker): string

Generates random day string.

Arguments:
is_leap_year(year: uint): bool

Returns true if year is leap year.

Arguments:
  • year : uint

month(faker: Faker): string

Generates random month string.

Arguments:

13.3.5.1. week_day

week_day(year: uint; month: uint; day: uint): int

Returns week day for given date.

Arguments:
  • year : uint

  • month : uint

  • day : uint

week_day(year: int; month: int; day: int): int