input: Write a python function to train and evaluate a linear regression model using the given dataset.
  assert train_and_evaluate_model('housing.csv') > 0.5
output: def train_and_evaluate_model(csv_file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.linear_model import LinearRegression
      from sklearn.metrics import r2_score
  
      # Load dataset
      data = pd.read_csv(csv_file_path)
      
      # Assuming the target variable is 'target' and features are all other columns
      X = data.drop('target', axis=1)
      y = data['target']
      
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Initialize the linear regression model
      model = LinearRegression()
      
      # Train the model
      model.fit(X_train, y_train)
      
      # Predict the test set
      y_pred = model.predict(X_test)
      
      # Evaluate the model
      r2 = r2_score(y_test, y_pred)
      
      return r2