code: def test_op_raises_nested_error_when_callable_fails(self) -> None:
      def fn(d: int) -> bool:
          if d == 3:
              raise ValueError("filter error")
  
          return True
  
      pipeline = read_sequence([1, 2, 3, 4]).filter(fn).and_return()
  
      with pytest.raises(DataPipelineError) as exc_info:
          for d in pipeline:
              pass
  
      cause = exc_info.value.__cause__
  
      assert isinstance(cause, ValueError)
  
      assert str(cause) == "filter error"
  
imports: import pytest
  from fairseq2.data import DataPipelineError, read_sequence
label_desc: Use image node_id 2 for calling the TestFilterOp obj's underlying member method code with example usage: obj.test_op_raises_nested_error_when_callable_fails() and returns: True