Files
wehub-resource-sync 2114b14ee0
Sync main into demo / sync (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:35:26 +08:00

77 lines
3.1 KiB
Python

from __future__ import annotations
from pathlib import Path
from bench_env.task.registry import TaskRegistry
ROOT = Path(__file__).resolve().parents[3]
EXPECTED_RECLASSIFIED_TASKS = {
"calendar.CreateEventWithAlarmAndConfirm",
"crossapp_commerce.AlipayThankTopIncomeTransfer",
"crossapp_commerce.AlipayYearCompareTopExpenseToWechat",
"crossapp_commerce.BillTypeYearSummaryToWechat",
"crossapp_commerce.MonthCompareThenExplainToNote",
"crossapp_commerce.Top3ExpenseSummaryToWechat",
"crossapp_content.BilibiliRankAuthorLastNovToWechat",
"crossapp_content.BilibiliRankTop3FolderAndWechat",
"crossapp_content.FavoriteWaterSceneryPhotos",
"crossapp_content.RedbookAuthorTopCollectToWechat",
"crossapp_content.RedbookTopLikedToNotes",
"crossapp_content.RedbookUserBestWorstToNotes",
"crossapp_content.RedbookUserTopCollectToWechat",
"crossapp_content.ThirdSpotifyPlayRecommendOnRedbookAndPlaylist",
"crossapp_content.WeeklyReadingAndLikedSpotifySongsToMoment",
"crossapp_life.OpenedFridgeFoodsToMom",
"crossapp_life.RailwayEarliestGTrainToWechat",
"crossapp_life.RailwayMyAccountToWechat",
"crossapp_life.RailwayTomorrowMomBookingToWechat",
"crossapp_life.RealisticTrip001",
"crossapp_life.RecommendMenuDishesToXiaozhou",
"crossapp_life.TopRatedNearbyPlaceConditionalWechatOrSmsInvite",
"crossapp_life.WeatherFirstNonRainyToCalendarAndSms",
"crossapp_life.WeekendShanghaiTripIfClearAndFree",
"crossapp_work.CountCurrentLogErrorsToWechat",
"crossapp_work.CountOpenWorkOrdersFromPhotosToWechat",
"crossapp_work.InspectionReportToWechat",
"crossapp_work.OrganizeMeetingMaterialsToWechat",
"crossapp_work.OrganizePdfReportsToWechat",
"crossapp_work.OrganizeReimbursementPhotosToWechat",
"crossapp_work.ScheduleReleaseMeetingAndNotifyViaNotesWechatSms",
"crossapp_work.SubmitRequestedAttachmentsToBoss",
"crossapp_work.TencentMeetingKeywordLongestParticipationToNotes",
"crossapp_work.TencentMeetingLongestPlannedToWechat",
"file_manager.CleanObsoleteHandoffFiles",
"file_manager.CreateKeepFolderAndDeleteRawLogs",
"file_manager.RenameEvidenceFilesByDate",
"launcher.ChangeWallpaperAndAddWidget",
"launcher.DesktopAppsToFolder",
"map.NorthResearchInstituteAnswer",
}
def test_hard_and_derived_tasks_are_reclassified() -> None:
registry = TaskRegistry()
suites = set(registry.list_suites(include_generated=False))
assert "hard" not in suites
assert "derived" not in suites
assert "launcher" in suites
for task_id in EXPECTED_RECLASSIFIED_TASKS:
registry.get_by_id(task_id)
def test_splits_do_not_reference_hard_or_derived_suites() -> None:
split_dir = ROOT / "bench_env" / "splits"
stale_lines: list[str] = []
for path in sorted(split_dir.glob("*.txt")):
for lineno, line in enumerate(path.read_text(encoding="utf-8").splitlines(), start=1):
stripped = line.strip()
if stripped.startswith(("hard.", "derived.")):
stale_lines.append(f"{path.relative_to(ROOT)}:{lineno}:{stripped}")
assert stale_lines == []