robotpy / robotpy-commands-v2

Python implementation of the WPILib Command Framework (2020+)
Other
2 stars 14 forks source link

Adds Swerve2/3/4/6ControllerCommand to Commands2 #38

Closed lospugs closed 4 months ago

lospugs commented 5 months ago

robotpy/robotpy-commands-v2#28

lospugs commented 4 months ago

Any idea what is going on here with the tests? I can run them locally in the VS Code test runner, and they also run successfully from the command line:

robotpy-commands-fork % python -m pytest
============================================================================= test session starts ==============================================================================
platform darwin -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
rootdir: /Users/user/robotics/robotpy-commands-fork
plugins: reraise-2.1.2
collected 164 items                                                                                                                                                            

tests/test_command_decorators.py .....s..........                                                                                                                        [  9%]
tests/test_command_requirements.py ...                                                                                                                                   [ 11%]
tests/test_command_schedule.py .....                                                                                                                                     [ 14%]
tests/test_commandgroup_error.py ...                                                                                                                                     [ 16%]
tests/test_conditional_command.py ..                                                                                                                                     [ 17%]
tests/test_default_command.py ...                                                                                                                                        [ 19%]
tests/test_functional_command.py .                                                                                                                                       [ 20%]
tests/test_instant_command.py .                                                                                                                                          [ 20%]
tests/test_networkbutton.py .                                                                                                                                            [ 21%]
tests/test_notifier_command.py s                                                                                                                                         [ 21%]
tests/test_parallelcommandgroup.py .............                                                                                                                         [ 29%]
tests/test_paralleldeadlinegroup.py ............                                                                                                                         [ 37%]
tests/test_parallelracegroup.py ...............                                                                                                                          [ 46%]
tests/test_perpetualcommand.py .                                                                                                                                         [ 46%]
tests/test_pidcommand.py ...                                                                                                                                             [ 48%]
tests/test_printcommand.py .                                                                                                                                             [ 49%]
tests/test_proxycommand.py ..                                                                                                                                            [ 50%]
tests/test_repeatcommand.py .                                                                                                                                            [ 51%]
tests/test_robotdisabledcommand.py .......                                                                                                                               [ 55%]
tests/test_runcommand.py .                                                                                                                                               [ 56%]
tests/test_schedulecommand.py ..                                                                                                                                         [ 57%]
tests/test_scheduler.py .....                                                                                                                                            [ 60%]
tests/test_schedulingrecursion.py .........                                                                                                                              [ 65%]
tests/test_selectcommand.py ...........                                                                                                                                  [ 72%]
tests/test_sequentialcommandgroup.py ............                                                                                                                        [ 79%]
tests/test_startendcommand.py .                                                                                                                                          [ 80%]
tests/test_swervecontrollercommand.py ..................                                                                                                                 [ 91%]
tests/test_trigger.py ...........                                                                                                                                        [ 98%]
tests/test_waitcommand.py ..                                                                                                                                             [ 99%]
tests/test_waituntilcommand.py .                                                                                                                                         [100%]

======================================================================== 162 passed, 2 skipped in 0.81s ========================================================================

I tried making a Python 3.8 virtual environment on my apple silicon mac, but for some reason can't install robotpy betas with pip in the 3.8 virtual environment, it can't install robotpy-wpiutil for some reason (can't find the package).

In the meantime I'll try to build a VM with an older Ubuntu or something, but it's very confusing why the TypeErrors don't exist in my local test runs but they fail on the Ubuntu machines.

lospugs commented 4 months ago

So, I experimented with that exact fix, but when I did that fix I actually had failures locally both in VS Code's test runner and running python -m pytest. What I pushed originally was in response to local failures...but I guess it's good they work in the CI/CD pipeline.

Macos 13, apple silicon, Python 3.11 (installed via Homebrew).

Edit to add: Confirmed running an amd64 VM via hypervisor. The behavior of Python 3.11 on Apple Silicon is for some reason opposite of the intel-based systems. Which is suprising.

virtuald commented 4 months ago

The swerve APIs changed in beta 4 (https://github.com/robotpy/mostrobotpy/pull/43), so you might not have upgraded your local robotpy installation.

virtuald commented 4 months ago

Closing in favor of #45 (which was built on this, so thanks)