Chih-Hsuan Yen pushed to branch main at Arch Linux / Packaging / Packages / 
python-aws-xray-sdk


Commits:
5fb8e34a by Chih-Hsuan Yen at 2024-03-25T01:19:20+08:00
Make tests pass with pytest 8

pytest 8 reveals a conflict in tests. Some tests in
tests/test_lambda_context.py fail if they are run after
tests/ext/bottle/test_bottle.py::test_lambda_serverless.
The issue was not discovered as older pytest collects directories after
files [1].

I may not report the issue soon, as upstream is not so active.

Also, it seems the mock_module work-around is no longer needed.

[1] https://docs.pytest.org/en/stable/changelog.html#collection-changes

________________________ test_facade_segment_generation ________________________

    def test_facade_segment_generation():

        segment = context.get_trace_entity()
        assert segment.id == PARENT_ID
        assert segment.trace_id == TRACE_ID
        assert segment.sampled
>       assert DATA in segment.get_origin_trace_header().to_header_str()
E       AssertionError: assert 'Foo=Bar' in 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1'
E        +  where 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1'
 = <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57c9a210>>()
E        +    where <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57c9a210>> = <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57c9a210>.to_header_str
E        +      where <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57c9a210> = <bound method Entity.get_origin_trace_header 
of <aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>>()
E        +        where <bound method Entity.get_origin_trace_header of 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>> = 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>.get_origin_trace_header

tests/test_lambda_context.py:30: AssertionError
_____________________________ test_put_subsegment ______________________________

    def test_put_subsegment():

        segment = context.get_trace_entity()
        subsegment = Subsegment('name', 'local', segment)
        context.put_subsegment(subsegment)
        assert context.get_trace_entity().id == subsegment.id

        subsegment2 = Subsegment('name', 'local', segment)
        context.put_subsegment(subsegment2)
        assert context.get_trace_entity().id == subsegment2.id

        assert subsegment.subsegments[0] is subsegment2
        assert subsegment2.parent_id == subsegment.id
        assert subsegment.parent_id == segment.id
        assert subsegment2.parent_segment is segment
>       assert DATA in 
subsegment2.parent_segment.get_origin_trace_header().to_header_str()
E       AssertionError: assert 'Foo=Bar' in 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1'
E        +  where 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1'
 = <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57c9a210>>()
E        +    where <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57c9a210>> = <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57c9a210>.to_header_str
E        +      where <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57c9a210> = <bound method Entity.get_origin_trace_header 
of <aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>>()
E        +        where <bound method Entity.get_origin_trace_header of 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>> = 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190>.get_origin_trace_header
E        +          where 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57c9a190> = <aws_xray_sdk.core.models.subsegment.Subsegment object 
at 0x705e57c751d0>.parent_segment

tests/test_lambda_context.py:48: AssertionError
_________________________________ test_disable _________________________________

    def test_disable():
        context.clear_trace_entities()
        segment = context.get_trace_entity()
        assert segment.sampled

        context.clear_trace_entities()
        global_sdk_config.set_sdk_enabled(False)
        segment = context.get_trace_entity()
        assert not segment.sampled
>       assert DATA in segment.get_origin_trace_header().to_header_str()
E       AssertionError: assert 'Foo=Bar' in 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=False'
E        +  where 
'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=False'
 = <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57cbdcd0>>()
E        +    where <bound method TraceHeader.to_header_str of 
<aws_xray_sdk.core.models.trace_header.TraceHeader object at 
0x705e57cbdcd0>> = <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57cbdcd0>.to_header_str
E        +      where <aws_xray_sdk.core.models.trace_header.TraceHeader 
object at 0x705e57cbdcd0> = <bound method Entity.get_origin_trace_header 
of <aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57cbdb90>>()
E        +        where <bound method Entity.get_origin_trace_header of 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57cbdb90>> = 
<aws_xray_sdk.core.models.facade_segment.FacadeSegment object at 
0x705e57cbdb90>.get_origin_trace_header

tests/test_lambda_context.py:66: AssertionError

- - - - -


1 changed file:

- PKGBUILD


Changes:

=====================================
PKGBUILD
=====================================
@@ -57,25 +57,24 @@ check() {
   export AWS_ACCESS_KEY_ID=fake_id
 
   # * Use --asyncio-mode=auto to work-around skipped async tests
+  # * Split core and ext tests following upstream [1] due to some
+  #   conflicts
   # * the test suite for pymysql uses testing.mysqld, which is not
-  #   compatible with MariaDB [1]
+  #   compatible with MariaDB [2]
   # * tests fail with flask_sqlalchemy > 2.5.1 and upstream explicitly
-  #   states no support [2]
-  # * tests fail with pg8000 > 1.20.0 and upstream explicitly
   #   states no support [3]
-  # * Ignore tests/mock_module to fix tests/test_patcher.py. The test
-  #   checks if mock_module is not in sys.modules, while somehow for
-  #   pytest-asyncio after [4], mock_module is already in sys.modules
-  #   at the start of a test.
-  # [1] https://github.com/tk0miya/testing.mysqld/issues/3
-  # [2] https://github.com/aws/aws-xray-sdk-python/pull/360
-  # [3] https://github.com/aws/aws-xray-sdk-python/pull/324
-  # [4] https://github.com/pytest-dev/pytest-asyncio/pull/620
+  # * tests fail with pg8000 > 1.20.0 and upstream explicitly
+  #   states no support [4]
+  # [1] 
https://github.com/aws/aws-xray-sdk-python/blob/2.12.1/.github/workflows/UnitTesting.yaml#L26
+  # [2] https://github.com/tk0miya/testing.mysqld/issues/3
+  # [3] https://github.com/aws/aws-xray-sdk-python/pull/360
+  # [4] https://github.com/aws/aws-xray-sdk-python/pull/324
   pytest -v tests --asyncio-mode=auto \
-                  --ignore tests/ext/flask_sqlalchemy \
-                  --ignore tests/ext/pg8000 \
-                  --ignore tests/ext/pymysql \
-                  --ignore tests/mock_module
+                  --ignore tests/ext
+  pytest -v tests/ext --asyncio-mode=auto \
+                      --ignore tests/ext/flask_sqlalchemy \
+                      --ignore tests/ext/pg8000 \
+                      --ignore tests/ext/pymysql
 }
 
 package() {



View it on GitLab: 
https://gitlab.archlinux.org/archlinux/packaging/packages/python-aws-xray-sdk/-/commit/5fb8e34acf10c0279d0e51df3ca71462bb242818

-- 
View it on GitLab: 
https://gitlab.archlinux.org/archlinux/packaging/packages/python-aws-xray-sdk/-/commit/5fb8e34acf10c0279d0e51df3ca71462bb242818
You're receiving this email because of your account on gitlab.archlinux.org.


Reply via email to