Script to test all tables on MacOS 13
Problem
Before MacOS 13 comes out in September, we want to test osquery tables on it to see whether any need adjustment.
Goal
-
For each table, run
SELECT * FROM #{table_name} -
Except where tables have constraints (include WHERE clause for the constraint)
-
Except where tables have user-specific requirements. Then include
WHERE user=#{current_uid}, wherecurrent_uidis theuidvalue in the output of theid -ucommand in terminal -
Where necessary, limit the number of rows (~3?) in the query
-
Run these queries on a macOS 12 machine
-
Record the query and the output of each query in a txt file followed by a delimiter
=========.- If no output was returned, write "no output"
- Note the "no output" ones and share w/ Mo. We will likely want to figure out how to test them or de-prioritize testing them
-
Run the queries and save the output as above, but for a macOS 13 machine
-
Run a diff of the two output files
-
Share results with Mo
-
Save the procedure in some script so that it can be reused for future macos versions.
Related
- https://github.com/fleetdm/fleet/issues/7183
- https://github.com/fleetdm/fleet/issues/7184
@mikermcneil proposed manual testing flow above.
@zhumo Looks smart to me! This should satisfy the most basic "does it continue to work the same under basic usage" question, which is a sensible thing to prioritize and a good tradeoff between quality and moving quickly.
ok thanks! I think our next step is to discuss staffing to do this. I will raise this at our 1/1
Hey @xpkoala! MacOS 13 comes out in mid-September. I'm hoping to get test coverage done as per the steps listed above, in order to give our users any warnings about compatibility. I spoke to Noah, and understand current priorities is fleet sandbox, followed by the next release testing. We think this fits after that.
cc: @zwass @noahtalerman
@zhumo Absolutely agree!
@xpkoala Tools for this located in fleet/tools/osquery-testing
Thanks for your hard work, Reed!