code: def test_copy_X_with_auto_gram():
      # Non-regression test for #17789, `copy_X=True` and Gram='auto' does not
      # overwrite X
      rng = np.random.RandomState(42)
      X = rng.rand(6, 6)
      y = rng.rand(6)
  
      X_before = X.copy()
      linear_model.lars_path(
          X, y, Gram="auto", copy_X=True, method="lasso"
      )
      # X did not change
      assert_allclose(X, X_before)
  
imports: import warnings
  import numpy
  import pytest
  from scipy import linalg
  from sklearn import datasets, linear_model
  from sklearn.base import clone
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.linear_model import Lars, LarsCV, LassoLars, LassoLarsCV, LassoLarsIC, lars_path
  from sklearn.linear_model._least_angle import _lars_path_residues
  from sklearn.model_selection import train_test_split
  from sklearn.pipeline import make_pipeline
  from sklearn.preprocessing import StandardScaler
  from sklearn.utils._testing import TempMemmap, assert_allclose, assert_array_almost_equal, ignore_warnings
label_desc: Use image node_id 36 for calling a global function with example usage: test_copy_X_with_auto_gram() without return types