Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BFCL] Add Unit Test to Check for Illegal Python Parameter Name #777

Merged
merged 4 commits into from
Nov 23, 2024

Conversation

HuanzhiMao
Copy link
Collaborator

@HuanzhiMao HuanzhiMao commented Nov 23, 2024

This PR adds a new unit test to check for illegal function parameter names in Python, using the kwlist from the keyword module. For example, we cannot have class as the parameter name, otherwise it would lead to AST parsing error.

Credit to Pan Yinxu (@Cppowboy) for the original idea.

Here is the output of the unit test. All these entries need to have their function doc fixed.

$ python check_illegal_python_param_name.py 
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_612-195-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_612-195-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_613-195-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_613-195-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_614-195-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_614-195-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_615-195-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_615-195-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_616-195-4
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_616-195-4
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_617-195-5
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_617-195-5
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_618-195-6
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_618-195-6
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_626-198-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_626-198-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_627-198-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_627-198-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_631-200-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_631-200-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_675-216-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_675-216-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_689-224-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_689-224-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_705-231-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_705-231-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_706-231-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_706-231-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_707-231-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_irrelevance_707-231-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_439-143-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_439-143-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_485-147-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_485-147-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_486-147-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_486-147-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_487-147-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_487-147-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_488-147-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_488-147-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_489-147-4
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_489-147-4
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_503-149-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_503-149-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_504-149-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_504-149-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_505-149-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_505-149-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_506-149-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_506-149-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_507-149-4
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_507-149-4
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_508-149-5
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_508-149-5
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_509-149-6
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_509-149-6
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_510-149-7
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_510-149-7
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_511-149-8
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_511-149-8
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_738-168-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_738-168-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_739-168-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_739-168-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_740-168-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_740-168-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_741-168-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_741-168-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_742-168-4
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_742-168-4
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_743-168-5
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_743-168-5
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_744-168-6
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_744-168-6
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_859-181-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_859-181-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_860-181-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_860-181-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_861-181-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_861-181-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_862-181-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_862-181-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_903-186-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_903-186-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_904-186-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_904-186-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_905-186-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_905-186-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_906-186-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_906-186-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_multiple_907-186-4
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_multiple_907-186-4
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_24-16-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_24-16-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_25-16-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_25-16-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_26-16-2
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_26-16-2
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_27-16-3
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_27-16-3
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_34-22-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_34-22-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_35-22-1
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_35-22-1
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: live_relevance_37-24-0
Function: Trains_1_GetTrainTickets
--------------------
Illegal parameter name: class
Entry ID: live_relevance_37-24-0
Function: Trains_1_FindTrains
--------------------
Illegal parameter name: class
Entry ID: multiple_143
Function: create_player_profile
--------------------
Illegal parameter name: class
Entry ID: multiple_197
Function: create_player_profile

@HuanzhiMao HuanzhiMao added the BFCL-General General BFCL Issue label Nov 23, 2024
@HuanzhiMao HuanzhiMao changed the title [BFCL] add script to check for illegal python parameter name [BFCL] Add Unit Test to Check for Illegal Python Parameter Name Nov 23, 2024
@CharlieJCJ
Copy link
Collaborator

qq: why we have dataset changes in this PR?

If this PR does more than adding unit test, please write in PR description.

@HuanzhiMao
Copy link
Collaborator Author

qq: why we have dataset changes in this PR?

If this PR does more than adding unit test, please write in PR description.

Those are necessary to make the script work. You can see commit message.

@CharlieJCJ
Copy link
Collaborator

CharlieJCJ commented Nov 23, 2024

Please add to top-level PR description, reviewers and other readers will mainly read PR descriptions.

Copy link
Collaborator

@CharlieJCJ CharlieJCJ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can merge.

Non-blocking followups: 1) add PR description for dataset fixes, which related PR does these fixes relate to, provide a better tracing of dataset fixes. 2) add README instruction for running unit tests #780

@HuanzhiMao HuanzhiMao merged commit b35f87c into ShishirPatil:main Nov 23, 2024
@HuanzhiMao HuanzhiMao deleted the illegal-param branch November 23, 2024 19:22
HuanzhiMao added a commit that referenced this pull request Nov 23, 2024
…Python Parameter Name (#778)

This PR fixes the dataset for the illegal Python parameter name issue,
based on the logs that the unit test in #777 outputs.

The following entries have illegal parameter names and have been fixed.
55 entries in total.

**All of the fixes are changing parameter name `class` -> `_class`.** 

> 'live_irrelevance_689-224-0', 'live_multiple_907-186-4',
'live_multiple_859-181-0', 'live_multiple_905-186-2',
'live_irrelevance_675-216-0', 'live_irrelevance_626-198-0',
'live_multiple_904-186-1', 'live_relevance_25-16-1', 'multiple_197',
'live_irrelevance_705-231-0', 'live_irrelevance_617-195-5',
'live_multiple_507-149-4', 'live_multiple_505-149-2',
'live_irrelevance_612-195-0', 'live_relevance_37-24-0',
'live_multiple_741-168-3', 'live_multiple_744-168-6',
'live_multiple_485-147-0', 'live_multiple_489-147-4',
'live_multiple_739-168-1', 'live_irrelevance_616-195-4',
'live_irrelevance_618-195-6', 'live_multiple_439-143-0',
'live_multiple_510-149-7', 'live_irrelevance_631-200-0',
'live_irrelevance_614-195-2', 'live_irrelevance_706-231-1',
'live_multiple_511-149-8', 'live_multiple_742-168-4',
'live_irrelevance_615-195-3', 'live_multiple_487-147-2',
'live_multiple_861-181-2', 'live_relevance_27-16-3',
'live_relevance_34-22-0', 'live_irrelevance_613-195-1', 'multiple_143',
'live_multiple_862-181-3', 'live_multiple_486-147-1',
'live_multiple_509-149-6', 'live_multiple_903-186-0',
'live_relevance_26-16-2', 'live_multiple_860-181-1',
'live_multiple_488-147-3', 'live_multiple_740-168-2',
'live_relevance_24-16-0', 'live_multiple_504-149-1',
'live_multiple_503-149-0', 'live_irrelevance_707-231-2',
'live_irrelevance_627-198-1', 'live_multiple_738-168-0',
'live_multiple_743-168-5', 'live_relevance_35-22-1',
'live_multiple_508-149-5', 'live_multiple_506-149-3',
'live_multiple_906-186-3'
HuanzhiMao added a commit that referenced this pull request Dec 7, 2024
This PR updates the leaderboard to reflect the change in score due to
the following PR merge:

1. #747 
2. #770 
3. #768 
4. #750 
5. #763 
6. #772 
7. #777 
8. #778 
9. #786 
10. #787 
11. #697 
12. #718 
13. #755 
14. #796 
15. #789 
16. #804 
17. #808 
18. #809
19. #811 
20. #810 

Models were evaluated using checkpoint commit d7e52e5.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFCL-General General BFCL Issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants