code: def gen_fixture_params(*param_values):
      """
      Returns a list of pytest.param objects suitable for use as fixture
      parameters created by merging the values in each tuple into individual
      pytest.param objects.
  
      Each tuple can contain multiple values or pytest.param objects. If pytest.param
      objects are given, the marks and ids are also merged.
  
      If ids is specicified, it must either be a list of string ids for each
      combination passed in, or a callable that accepts a list of values and
      returns a string.
  
      gen_fixture_params( (pytest.param(True, marks=[pytest.mark.A_good], id="A:True"),
                           pytest.param(False, marks=[pytest.mark.B_bad], id="B:False")),
                          (pytest.param(False, marks=[pytest.mark.A_bad], id="A:False"),
                           pytest.param(True, marks=[pytest.mark.B_good], id="B:True")),
                         )
  
  
      results in fixture param combinations:
  
      True, False  - marks=[A_good, B_bad]  - id="A:True-B:False"
      False, False - marks=[A_bad, B_bad]   - id="A:False-B:True"
      """
      fixture_params = []
      param_type = pytest.param().__class__  #
  
      for vals in param_values:
          new_param_values = []
          new_param_marks = []
          new_param_ids = []
          for val in vals:
              if isinstance(val, param_type):
                  new_param_values += val.values
                  new_param_marks += val.marks
                  new_param_ids.append(val.id)
              else:
                  new_param_values += val
                  new_param_ids.append(str(val))
          fixture_params.append(
              pytest.param(
                  new_param_values,
                  marks=new_param_marks,
                  id="-".join(new_param_ids),
              )
          )
      return fixture_params
  
imports: import os
  from pathlib import Path
  from itertools import product
  import pytest
label_desc: Use image node_id 1 for calling a global function with example usage: gen_fixture_params() and returns: fixture_params