-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
merge 2.3 #4588
merge 2.3 #4588
Conversation
* Add missing entries to CHANGELOG.md * Moved some changelog entries to the packaging section * Remove changelog entries that are not relevant for a user
prevent crash when scaling 0.0 BPM https://bugs.launchpad.net/mixxx/+bug/1955853
DlgTrackInfo: ensure Beats pointer before scaling beats
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI succeeded, LGTM
Nevertheless, we need to find out the reason for the local test failures. I didn't experience any issues.
comment race condition :) |
None of the changed files is related to this test. Can it be, that just the testcase was rebuilt/pulled from upstream, but not the Mixxx code itself? Was |
Of course merging 2.3 doesn't touch CompressingProxy. I built with feshly pulled |
Hmm, it's still only those test that fail
details: |
The details show the correct warning messages from the CompressingProxy in the error cases. So the proxy itself is operating. I wonder about this message: Do you use the same Googletest/Googlmock than on CI? |
How do I find out? Should cmake require |
I found out, that gtest and gmock are always the same, because they are taken from the lib directory in ./mixxx. |
@ronso0 I looked on the posted test output again, this time on my laptop screen, last time I read it on my phone. Now I see, that multiple tests seem to run overlapped in parallel, while on CI, they run stricly serial. Your local output (Start of ManyEvents followed by result of CompareCountMulti): Could you try to execute only a single test, intead of all. Does it pass than? |
Hmm fails, too: $ ctest -R ControlObjectScriptTest.CompressingProxyCompareCount1 --output-on-failure
Test project /home/ronso/Downloads/mixxx_source/src/master_build/Debug
Start 157: ControlObjectScriptTest.CompressingProxyCompareCount1
1/1 Test #157: ControlObjectScriptTest.CompressingProxyCompareCount1 ...***Failed 0.14 sec
QML debugging is enabled. Only use this in a safe environment.
Note: Google Test filter = ControlObjectScriptTest.CompressingProxyCompareCount1
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ControlObjectScriptTest
[ RUN ] ControlObjectScriptTest.CompressingProxyCompareCount1
GMOCK WARNING:
/src/test/controlobjectscripttest.cpp:100: Too many actions specified in EXPECT_CALL(*coScript2, slotValueChanged(_, _))...
Expected to be never called, but has 1 WillOnce()./src/master/src/test/controlobjectscripttest.cpp:104: Failure
Actual function call count doesn't match EXPECT_CALL(*coScript1, slotValueChanged(_, _))...
Expected: to be called once
Actual: never called - unsatisfied and active
[ FAILED ] ControlObjectScriptTest.CompressingProxyCompareCount1 (0 ms)
[----------] 1 test from ControlObjectScriptTest (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] ControlObjectScriptTest.CompressingProxyCompareCount1
1 FAILED TEST
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.17 sec
The following tests FAILED:
157 - ControlObjectScriptTest.CompressingProxyCompareCount1 (Failed)
Errors while running CTest |
Here the local output for the same test looks as follows:
|
so the diff starts with the third line mine 157: GMOCK WARNING:
157: /../../src/test/controlobjectscripttest.cpp:100: Too many actions specified in EXPECT_CALL(*coScript2, slotValueChanged(_, _))...
157: Expected to be never called, but has 1 WillOnce()./../../src/master/src/test/controlobjectscripttest.cpp:104: Failure
157: Actual function call count doesn't match EXPECT_CALL(*coScript1, slotValueChanged(_, _))...
157: Expected: to be called once
157: Actual: never called - unsatisfied and active
157: [ FAILED ] ControlObjectScriptTest.CompressingProxyCompareCount1 (4 ms) yours 157: GMOCK WARNING:
157: ..\..\src\test\controlobjectscripttest.cpp(100): Too many actions specified in EXPECT_CALL(*coScript2, slotValueChanged(_, _))...
157: Expected to be never called, but has 1 WillOnce().[ OK ] ControlObjectScriptTest.CompressingProxyCompareCount1 (29 ms)
157: [----------] 1 test from ControlObjectScriptTest (29 ms total) |
with line 102 commented out it fails at line 104 "expected once but never called" |
Is the warning
gone? |
In your output there is the additional line for each test case: |
I found that controllerscriptenginelegacy_test.cpp, which also uses application()->processEvents(); calls this function always twice to get all events. Maybe this helps also here. |
Yes. The output is now 157: Test command: /../../src/master_build/Debug/mixxx-test "--gtest_filter=ControlObjectScriptTest.CompressingProxyCompareCount1" "--logLevel" "info"
157: Environment variables:
157: QT_QPA_PLATFORM=offscreen
157: Test timeout computed to be: 1500
157: QML debugging is enabled. Only use this in a safe environment.
157: Note: Google Test filter = ControlObjectScriptTest.CompressingProxyCompareCount1
157: [==========] Running 1 test from 1 test suite.
157: [----------] Global test environment set-up.
157: [----------] 1 test from ControlObjectScriptTest
157: [ RUN ] ControlObjectScriptTest.CompressingProxyCompareCount1
157: /../../src/master/src/test/controlobjectscripttest.cpp:104: Failure
157: Actual function call count doesn't match EXPECT_CALL(*coScript1, slotValueChanged(_, _))...
157: Expected: to be called once
157: Actual: never called - unsatisfied and active
157: [ FAILED ] ControlObjectScriptTest.CompressingProxyCompareCount1 (0 ms)
157: [----------] 1 test from ControlObjectScriptTest (0 ms total)
157:
157: [----------] Global test environment tear-down
157: [==========] 1 test from 1 test suite ran. (0 ms total)
157: [ PASSED ] 0 tests.
157: [ FAILED ] 1 test, listed below:
157: [ FAILED ] ControlObjectScriptTest.CompressingProxyCompareCount1
157:
157: 1 FAILED TEST
1/1 Test #157: ControlObjectScriptTest.CompressingProxyCompareCount1 ...***Failed 0.13 sec I don't know how to disable QML debugging. Remove the QDebug include doesn't help, and I have no idea where |
Could you please try to double line 108 |
👍 then it'll pass, even if I re-enable line 102 |
Great! Could you try this for the other tests as well. |
Jup, simply duplicating every |
That's great to hear, I will prepare a PR tomorrow! |
I guess this is, because the QML debugger is hooked in the event pipeline, and it needs one process step from the testcase to the QML debugger, and a second from the debugger to my compressing proxy. |
Still, why would it fail on my machine in the first place? |
That fits into the picture: Lines 1086 to 1090 in 6e3295f
I also built locally with RelWithDebInfo, because Debug builds on Windows are so slow, that they are unusable. |
I just built |
tests were failing locally so I open this PR.
Any ideas why @JoergAtGithub ?