MMLU-by-task-Leaderboard / test_integration.py
Corey Morris
Added test to test the specific method that is currently producting an error
5b83d0b
raw
history blame
1.83 kB
import subprocess
import time
import requests
import unittest
from app import find_top_differences_table
class TestAppFunctions(unittest.TestCase):
def setUp(self):
# Assuming that you have a ResultDataProcessor class or equivalent that provides the data
self.processor = ResultDataProcessor()
self.data = self.processor.data # Assuming this gives you the DataFrame you need
def test_find_top_differences_table_error(self):
# replicating the error before fixing it
filtered_data = self.data
# Get the closest 5 models with unique indices
closest_models_diffs = filtered_data['MMLU_average'].sub(filtered_data.loc[selected_model_name, 'MMLU_average']).abs()
closest_models = closest_models_diffs.nsmallest(5, keep='first').index.drop_duplicates().tolist()
exclude_columns=['Parameters']
# Run the problematic function without catching the TypeError
top_differences_table, top_differences_tasks = find_top_differences_table(
self.data, selected_model_name, closest_models, exclude_columns
)
def test_streamlit_app_runs():
# Start the Streamlit app in a subprocess
process = subprocess.Popen(["streamlit", "run", "app.py"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# Wait for a few seconds to give Streamlit time to start
time.sleep(5)
# Make a request to the Streamlit app's default URL to check that it's running
response = requests.get('http://localhost:8501')
# Terminate the process
process.terminate()
# Check that the response from the Streamlit app was successful
assert response.status_code == 200, "Streamlit app did not start successfully"
if __name__ == '__main__':
unittest.main()