code: def pass_conditions(all_info, current_path, conditions, unknown_as_pass_condition = False):
      
      result = False
      if len(conditions) == 0:
          return True
      condition_operator = conditions.pop(0)
      for condition in conditions:
          if condition[0] in condition_operators:
              res = pass_conditions(all_info, current_path, condition, unknown_as_pass_condition)
          else:
              # Conditions are formed as "path to value", "type of test", "value(s) for test"
              path_to_value, test_name, test_values = condition
              path_to_value = fix_path_string(all_info, current_path, path_to_value)
              target_obj = get_value_at(all_info, current_path, path_to_value)
              if type(test_values) != list:
                  dynamic_value = re_get_value_at.match(test_values)
                  if dynamic_value:
                      test_values = get_value_at(all_info, current_path, dynamic_value.groups()[0], True)
              try:
                  res = pass_condition(target_obj, test_name, test_values)
              except Exception as e:
                  res = True if unknown_as_pass_condition else False
                  printError('Unable to process testcase \'%s\' on value \'%s\', interpreted as %s.' % (test_name, str(target_obj), res))
                  printException(e, True)
          # Quick exit and + false
          if condition_operator == 'and' and not res:
              return False
          # Quick exit or + true
          if condition_operator == 'or' and res:
              return True
      # Still here ?
      # or -> false
      # and -> true
      if condition_operator == 'or':
          return False
      else:
          return True
docs: Pass all conditions?
  
      :param all_info:
      :param current_path:
      :param conditions:
      :param unknown_as_pass_condition:   Consider an undetermined condition as passed
      :return: