Fix flaky test RepeatedSetup_NoRedundantPrivateDnsValidation

There is a time gap between the time when PrivateDnsConfiguration
reports onPrivateDnsValidationEvent and the time when
PrivateDnsConfiguration updates its map which is used for tracking
validation threads. If the test starts a subsequent setup (which expects
the resolver to begin a new validation) before PrivateDnsConfiguration
updates the map, the expected validation won't start because
PrivateDnsConfiguration thinks the previous validation hasn't finished.

This change is a workaround which adds waiting time to avoid the timing
issue, and the test running time increases 300ms.

Bug: 150678049
Bug: 151990391
Test: resolv_integration_test passed
Change-Id: I176d7d20b7edc79b37b954602961c149aef64348
1 file changed
tree: f432792b09ff8fa741b0ee04a5e559c6096cbdee
  1. aidl_api/
  2. apex/
  3. binder/
  4. include/
  5. tests/
  6. .editorconfig
  7. Android.bp
  8. Dns64Configuration.cpp
  9. Dns64Configuration.h
  10. DnsProxyListener.cpp
  11. DnsProxyListener.h
  12. DnsQueryLog.cpp
  13. DnsQueryLog.h
  14. DnsQueryLogTest.cpp
  15. DnsResolver.cpp
  16. DnsResolver.h
  17. DnsResolverService.cpp
  18. DnsResolverService.h
  19. DnsStats.cpp
  20. DnsStats.h
  21. DnsStatsTest.cpp
  22. DnsTlsDispatcher.cpp
  23. DnsTlsDispatcher.h
  24. DnsTlsQueryMap.cpp
  25. DnsTlsQueryMap.h
  26. DnsTlsServer.cpp
  27. DnsTlsServer.h
  28. DnsTlsSessionCache.cpp
  29. DnsTlsSessionCache.h
  30. DnsTlsSocket.cpp
  31. DnsTlsSocket.h
  32. DnsTlsSocketFactory.h
  33. DnsTlsTransport.cpp
  34. DnsTlsTransport.h
  35. getaddrinfo.cpp
  36. getaddrinfo.h
  37. gethnamaddr.cpp
  38. gethnamaddr.h
  39. hostent.h
  40. IDnsTlsSocket.h
  41. IDnsTlsSocketFactory.h
  42. IDnsTlsSocketObserver.h
  43. libnetd_resolv.map.txt
  44. LockedQueue.h
  45. NOTICE
  46. OWNERS
  47. params.h
  48. PREUPLOAD.cfg
  49. PrivateDnsConfiguration.cpp
  50. PrivateDnsConfiguration.h
  51. README-DoT.md
  52. README.md
  53. res_cache.cpp
  54. res_comp.cpp
  55. res_comp.h
  56. res_debug.cpp
  57. res_debug.h
  58. res_init.cpp
  59. res_init.h
  60. res_mkquery.cpp
  61. res_query.cpp
  62. res_send.cpp
  63. res_send.h
  64. res_stats.cpp
  65. resolv_cache.h
  66. resolv_cache_unit_test.cpp
  67. resolv_callback_unit_test.cpp
  68. resolv_private.h
  69. resolv_tls_unit_test.cpp
  70. resolv_unit_test.cpp
  71. ResolverController.cpp
  72. ResolverController.h
  73. ResolverEventReporter.cpp
  74. ResolverEventReporter.h
  75. ResolverStats.h
  76. sethostent.cpp
  77. stats.h
  78. stats.proto
  79. TEST_MAPPING
  80. util.cpp
  81. util.h
README.md

Logging

This code uses LOG(X) for logging. Log levels are VERBOSE,DEBUG,INFO,WARNING and ERROR. The default setting is WARNING and logs relate to WARNING and ERROR will be shown. If you want to enable the DEBUG level logs, using following command. adb shell service call dnsresolver 10 i32 1 VERBOSE 0 DEBUG 1 INFO 2 WARNING 3 ERROR 4 Verbose resolver logs could contain PII -- do NOT enable in production builds.