From c4820b27c96becb1c2936bc584c24e7b587a420b Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Wed, 5 Aug 2026 15:38:02 -0400 Subject: [PATCH 01/10] Ut fix --- src/extension/tests/Test_ActionHandler.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/extension/tests/Test_ActionHandler.py b/src/extension/tests/Test_ActionHandler.py index d494c1fa..d9fffacd 100644 --- a/src/extension/tests/Test_ActionHandler.py +++ b/src/extension/tests/Test_ActionHandler.py @@ -310,7 +310,7 @@ def mock_os_getenv(name, value=None): # Re-init TelemetryWriter since the env var for compatibility is only checked on init os.getenv = mock_os_getenv - self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer) + self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer, self.runtime.credential_sanitizer) self.action_handler.telemetry_writer = self.runtime.telemetry_writer self.assertTrue(self.action_handler.uninstall() == Constants.ExitCode.Okay) @@ -339,7 +339,7 @@ def mock_os_getenv(name, value=None): # Re-init TelemetryWriter since the env var for compatibility is only checked on init os.getenv = mock_os_getenv - self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer) + self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer, self.runtime.credential_sanitizer) self.action_handler.telemetry_writer = self.runtime.telemetry_writer self.assertTrue(self.action_handler.uninstall() == Constants.ExitCode.Okay) @@ -582,7 +582,7 @@ def test_filter_files_from_versions(self): '/var/lib/waagent/Microsoft.CPlat.Core.LinuxPatchExtension-1.6.35' ] - all_versions = self.action_handler.filter_files_from_versions(all_versions_including_files); + all_versions = self.action_handler.filter_files_from_versions(all_versions_including_files) self.assertTrue(len(all_versions) == 2) self.assertTrue('/var/lib/waagent/Microsoft.CPlat.Core.LinuxPatchExtension-1.6.36' in all_versions) self.assertTrue('/var/lib/waagent/Microsoft.CPlat.Core.LinuxPatchExtension-1.6.35' in all_versions) From 25f45d426dadb6a45ab21829e292d3c78aaea156 Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Thu, 6 Aug 2026 10:40:25 -0400 Subject: [PATCH 02/10] Test --- src/extension/tests/Test_ActionHandler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/extension/tests/Test_ActionHandler.py b/src/extension/tests/Test_ActionHandler.py index d9fffacd..3498e6bd 100644 --- a/src/extension/tests/Test_ActionHandler.py +++ b/src/extension/tests/Test_ActionHandler.py @@ -310,6 +310,7 @@ def mock_os_getenv(name, value=None): # Re-init TelemetryWriter since the env var for compatibility is only checked on init os.getenv = mock_os_getenv + #test self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer, self.runtime.credential_sanitizer) self.action_handler.telemetry_writer = self.runtime.telemetry_writer From c2268891c5fa46cca6b7cdfc68db78c8c16cb5db Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Thu, 6 Aug 2026 10:56:12 -0400 Subject: [PATCH 03/10] Revert test change --- src/extension/tests/Test_ActionHandler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/extension/tests/Test_ActionHandler.py b/src/extension/tests/Test_ActionHandler.py index 3498e6bd..d9fffacd 100644 --- a/src/extension/tests/Test_ActionHandler.py +++ b/src/extension/tests/Test_ActionHandler.py @@ -310,7 +310,6 @@ def mock_os_getenv(name, value=None): # Re-init TelemetryWriter since the env var for compatibility is only checked on init os.getenv = mock_os_getenv - #test self.runtime.telemetry_writer = TelemetryWriter(self.runtime.logger, self.runtime.env_layer, self.runtime.credential_sanitizer) self.action_handler.telemetry_writer = self.runtime.telemetry_writer From 15999d78cb739254553f0dcd3cb913d9a109e61d Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 09:57:47 -0400 Subject: [PATCH 04/10] Test --- src/extension/tests/Test_ExtOutputStatusHandler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extension/tests/Test_ExtOutputStatusHandler.py b/src/extension/tests/Test_ExtOutputStatusHandler.py index d96a6d27..b6b869ac 100644 --- a/src/extension/tests/Test_ExtOutputStatusHandler.py +++ b/src/extension/tests/Test_ExtOutputStatusHandler.py @@ -72,8 +72,8 @@ def test_read_file(self): shutil.rmtree(dir_path) def test_update_file(self): - if self.runtime.is_github_runner: - return + # if self.runtime.is_github_runner: + # return file_name = "test" dir_path = tempfile.mkdtemp() From 5300010e4a5d3ea35cc90f320457e62e2bacec2a Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 10:14:55 -0400 Subject: [PATCH 05/10] test2 --- src/extension/tests/Test_ExtOutputStatusHandler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/extension/tests/Test_ExtOutputStatusHandler.py b/src/extension/tests/Test_ExtOutputStatusHandler.py index b6b869ac..94f3c048 100644 --- a/src/extension/tests/Test_ExtOutputStatusHandler.py +++ b/src/extension/tests/Test_ExtOutputStatusHandler.py @@ -18,6 +18,7 @@ import os import shutil import tempfile +import time import unittest from extension.src.Constants import Constants from extension.src.file_handlers.ExtOutputStatusHandler import ExtOutputStatusHandler @@ -84,11 +85,13 @@ def test_update_file(self): stat_file_name = os.stat(os.path.join(dir_path, file_name + ".status")) prev_modified_time = stat_file_name.st_mtime + time.sleep(0.02) ext_status_handler.update_file("test1") stat_file_name = os.stat(os.path.join(dir_path, file_name + ".status")) modified_time = stat_file_name.st_mtime self.assertEqual(prev_modified_time, modified_time) + time.sleep(0.05) # ensure filesystem mtime granularity is exceeded ext_status_handler.update_file(file_name) stat_file_name = os.stat(os.path.join(dir_path, file_name + ".status")) modified_time = stat_file_name.st_mtime From a76283db543efec4ae6b3402715cb7c439d87b3e Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 10:24:17 -0400 Subject: [PATCH 06/10] Remove github block --- src/extension/tests/Test_ExtOutputStatusHandler.py | 2 +- src/extension/tests/Test_TelemetryWriter.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/extension/tests/Test_ExtOutputStatusHandler.py b/src/extension/tests/Test_ExtOutputStatusHandler.py index 94f3c048..a3be393a 100644 --- a/src/extension/tests/Test_ExtOutputStatusHandler.py +++ b/src/extension/tests/Test_ExtOutputStatusHandler.py @@ -91,7 +91,7 @@ def test_update_file(self): modified_time = stat_file_name.st_mtime self.assertEqual(prev_modified_time, modified_time) - time.sleep(0.05) # ensure filesystem mtime granularity is exceeded + time.sleep(0.02) # ensure filesystem mtime granularity is exceeded ext_status_handler.update_file(file_name) stat_file_name = os.stat(os.path.join(dir_path, file_name + ".status")) modified_time = stat_file_name.st_mtime diff --git a/src/extension/tests/Test_TelemetryWriter.py b/src/extension/tests/Test_TelemetryWriter.py index 8980f5c8..abe010a5 100644 --- a/src/extension/tests/Test_TelemetryWriter.py +++ b/src/extension/tests/Test_TelemetryWriter.py @@ -38,8 +38,8 @@ def mock_os_listdir(self, file_path): return ['testevent1.json', 'testevent2.json', 'testevent3.json', 'testevent4.json'] def test_write_event(self): - if self.runtime.is_github_runner: - return + # if self.runtime.is_github_runner: + # return self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task") with open(os.path.join(self.telemetry_writer.events_folder_path, os.listdir(self.telemetry_writer.events_folder_path)[0]), 'r+') as f: From 7271e5f842bc1441647b4e7ebfa59078e96d65f4 Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 10:31:03 -0400 Subject: [PATCH 07/10] Increase sleep --- src/extension/tests/Test_ExtOutputStatusHandler.py | 5 +---- src/extension/tests/Test_TelemetryWriter.py | 6 ------ 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/extension/tests/Test_ExtOutputStatusHandler.py b/src/extension/tests/Test_ExtOutputStatusHandler.py index a3be393a..5f5df1b4 100644 --- a/src/extension/tests/Test_ExtOutputStatusHandler.py +++ b/src/extension/tests/Test_ExtOutputStatusHandler.py @@ -73,9 +73,6 @@ def test_read_file(self): shutil.rmtree(dir_path) def test_update_file(self): - # if self.runtime.is_github_runner: - # return - file_name = "test" dir_path = tempfile.mkdtemp() operation = "Assessment" @@ -91,7 +88,7 @@ def test_update_file(self): modified_time = stat_file_name.st_mtime self.assertEqual(prev_modified_time, modified_time) - time.sleep(0.02) # ensure filesystem mtime granularity is exceeded + time.sleep(0.03) # ensure filesystem mtime granularity is exceeded ext_status_handler.update_file(file_name) stat_file_name = os.stat(os.path.join(dir_path, file_name + ".status")) modified_time = stat_file_name.st_mtime diff --git a/src/extension/tests/Test_TelemetryWriter.py b/src/extension/tests/Test_TelemetryWriter.py index abe010a5..ec19d823 100644 --- a/src/extension/tests/Test_TelemetryWriter.py +++ b/src/extension/tests/Test_TelemetryWriter.py @@ -38,9 +38,6 @@ def mock_os_listdir(self, file_path): return ['testevent1.json', 'testevent2.json', 'testevent3.json', 'testevent4.json'] def test_write_event(self): - # if self.runtime.is_github_runner: - # return - self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task") with open(os.path.join(self.telemetry_writer.events_folder_path, os.listdir(self.telemetry_writer.events_folder_path)[0]), 'r+') as f: events = json.load(f) @@ -64,9 +61,6 @@ def test_write_event(self): f.close() def test_write_multiple_events_in_same_file(self): - if self.runtime.is_github_runner: - return - time_backup = time.time time.time = self.mock_time self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task") From 0f765c629e729d545d7bdaa696e46b5b57286c66 Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 10:44:43 -0400 Subject: [PATCH 08/10] Changes --- src/extension/tests/Test_TelemetryWriter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extension/tests/Test_TelemetryWriter.py b/src/extension/tests/Test_TelemetryWriter.py index ec19d823..cbe7d594 100644 --- a/src/extension/tests/Test_TelemetryWriter.py +++ b/src/extension/tests/Test_TelemetryWriter.py @@ -109,8 +109,8 @@ def test_write_event_size_limit(self): # self.telemetry_writer.get_file_size = telemetry_get_event_file_size_backup def test_delete_older_events(self): - if self.runtime.is_github_runner: - return + # if self.runtime.is_github_runner: + # return # deleting older event files before adding new one self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task") From 7cf3a61bad3f7ead6483622644963769c4d71e35 Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 10:51:56 -0400 Subject: [PATCH 09/10] Remove comments --- src/extension/tests/Test_TelemetryWriter.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/extension/tests/Test_TelemetryWriter.py b/src/extension/tests/Test_TelemetryWriter.py index cbe7d594..4ac38000 100644 --- a/src/extension/tests/Test_TelemetryWriter.py +++ b/src/extension/tests/Test_TelemetryWriter.py @@ -68,7 +68,7 @@ def test_write_multiple_events_in_same_file(self): with open(os.path.join(self.telemetry_writer.events_folder_path, os.listdir(self.telemetry_writer.events_folder_path)[0]), 'r+') as f: events = json.load(f) self.assertTrue(events is not None) - self.assertEqual(len(events), 2) # Fails here on GitHub + self.assertEqual(len(events), 2) self.assertEqual(events[0]["TaskName"], "Test Task") self.assertEqual(events[1]["TaskName"], "Test Task2") f.close() @@ -109,9 +109,6 @@ def test_write_event_size_limit(self): # self.telemetry_writer.get_file_size = telemetry_get_event_file_size_backup def test_delete_older_events(self): - # if self.runtime.is_github_runner: - # return - # deleting older event files before adding new one self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task") self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task2") @@ -125,7 +122,7 @@ def test_delete_older_events(self): self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task4") new_events = os.listdir(self.telemetry_writer.events_folder_path) self.assertEqual(len(new_events), 1) - self.assertTrue(old_events[0] not in new_events) # Fails here on GitHub + self.assertTrue(old_events[0] not in new_events) Constants.TELEMETRY_DIR_SIZE_LIMIT_IN_CHARS = telemetry_dir_size_backup Constants.TELEMETRY_EVENT_FILE_SIZE_LIMIT_IN_CHARS = telemetry_event_size_backup From 5db37ff7d17931b9bcf1e3675e0d3c0215a30f18 Mon Sep 17 00:00:00 2001 From: Yashna Parikh Date: Fri, 7 Aug 2026 11:52:13 -0400 Subject: [PATCH 10/10] address Copilot review comment --- src/extension/tests/Test_TelemetryWriter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extension/tests/Test_TelemetryWriter.py b/src/extension/tests/Test_TelemetryWriter.py index 4ac38000..af3894ae 100644 --- a/src/extension/tests/Test_TelemetryWriter.py +++ b/src/extension/tests/Test_TelemetryWriter.py @@ -122,7 +122,7 @@ def test_delete_older_events(self): self.telemetry_writer.write_event("testing telemetry write to file", Constants.TelemetryEventLevel.Error, "Test Task4") new_events = os.listdir(self.telemetry_writer.events_folder_path) self.assertEqual(len(new_events), 1) - self.assertTrue(old_events[0] not in new_events) + self.assertNotIn(old_events[0], new_events) Constants.TELEMETRY_DIR_SIZE_LIMIT_IN_CHARS = telemetry_dir_size_backup Constants.TELEMETRY_EVENT_FILE_SIZE_LIMIT_IN_CHARS = telemetry_event_size_backup