Граф коммитов

34 Коммитов

Автор SHA1 Сообщение Дата
Iman Narasamdya ee0f3dde45 Various ways to reduce size of nuget packages (#707) 2019-08-06 15:35:35 -07:00
Aleksandar Milicevic 0bd8915b60
New macOS sandbox based on EndpointSecurity APIs (#704)
On behalf of @Kr1sso 

Initial draft for EndpointSecurity based sandbox support on macOS Catalina and higher. This is here to test and prototype a new sandbox for the upcoming OS release as kernel extensions are deprecated and will soon be forbidden.

Important

This currently only runs on systems with SIP disabled, using super user privileges and signing the bxl binary with a valid developer certificate before executing!
```
codesign --entitlements Private/macOS/sandbox.entitlements Out/Bin/Debug/osx-x64/bxl -s XYZ
```
A valid signing key (replace XYZ) can be obtained by using a registered MS developer account connected with an AppleID.

Running 
```
security find-identity -v -p codesigning 
```
will list those if any are available on the system.
2019-08-06 09:07:34 -07:00
Kristijan Šimić c48f35c690
[macOS Catalina] Data partition filtering and file access adjustments (#655)
* Full support for macOS Catalina (e.g. data partition path filtering, test adjustments) and sandbox update to support CI and build scenarios on beta 4 and upwards.
2019-07-25 17:30:03 +02:00
Anirudh Santhiar 7c5a5fef1d
Upgrade QTest version, identify buildXL as the source build system to qtest (#632)
* Upgrade qtest version, and identify buildXL as the source build system to QTest.
2019-07-22 11:34:25 -07:00
Aleksandar Milicevic d862eac780
Plumb teardown timeout all the way down to AriaNative (#611) 2019-07-18 08:58:43 -07:00
Kristijan Šimić d0d392ffff
Stable Nuget content enumeration (#604)
* Ignore unstable enumeration when analyzing Nuget package contents
2019-07-16 18:14:25 +02:00
Iman Narasamdya dba3e6150c
Create journal without deletion on VM (#583) 2019-07-12 15:28:27 -07:00
Aleksandar Milicevic 0160c34667
Remove dependencies on Microsoft tracing and telemetry assemblies (#569)
- don't define FEATURE_MICROSOFT_DIAGNOSTICS_TRACING constant for any builds
 - remove all importFrom("Microsoft.Diagnostics.Tracing.EventSource.Redist").pkg
 - remove all importFrom("Microsoft.Diagnostics.Tracing.TraceEvent").pkg
 - remove all importFrom("Microsoft.Applications.Telemetry.Desktop").pkg
 - add #if NET_FRAMEWORK_451 hacks to work around missing tracing features in .NET Framework 4.5.1
2019-07-10 14:23:48 -07:00
Iman Narasamdya 2fa4d13b68
Use new VmCommandProxy that has fixes on journal creation (#560) 2019-07-08 16:20:35 -07:00
Anirudh Santhiar e032f1fb50
Bump up qtest version. (#559) 2019-07-08 14:29:18 -07:00
Aleksandar Milicevic 404ac852f4
[.NET Core] Use native C++ SDK to talk to Aria (#558) 2019-07-07 20:01:55 -07:00
Iman Narasamdya f887afffaf
Use VmCommandProxy that runs change drive (#544) 2019-07-02 09:42:50 -07:00
Pratik Lade ad2b3adb1a
QTest: Add Debug option to run tests under Debug mode. (#526) 2019-06-27 00:30:04 -07:00
Iman Narasamdya fd407e02aa
Bump up VmCommandProxy for testing in cbtest (#524) 2019-06-26 17:17:29 -07:00
Iman Narasamdya 6715587a12
Roll out VM build (#492)
These are changes to roll out selfhost builds in VM.
2019-06-24 23:39:22 -07:00
Kevin Bazan Williams d5cbc5052a
Try to upgrade to released packages from Artifacts (#496)
Upgrade to packages in Artifacts' Release view
2019-06-20 15:51:12 -07:00
Anirudh Santhiar 84cad3a42c
Allow users to specify the source from which a qtest target is built. (#479)
* Allow users to specify the source from which a qtest target is built. This is essential for the correct operation of qtest's flaky test detection and reporting.

* Minor

* Address reviewer comment
2019-06-18 10:47:15 -07:00
Aleksandar Milicevic 05d378da6d
[MacSandbox] track process name upon execve (#438) 2019-06-13 14:45:32 -07:00
Anirudh Santhiar a8687db920
Add a way to pass environment variables into the qtest pip (#465)
* Add a way to pass environment variables into the qtest pip

* Account for the possibility that qTestEnvironmentVariables may be undefined

* Address reviewer comment
2019-06-13 14:01:02 -07:00
Iman Narasamdya 403f211b63
Translate host UNC drive path to allow journal tests in VM (#439)
This is one of three changes required for running journal tests in VM. In this change, we translate host UNC drive path that is often access by tools like dotnet.exe.

This change also include introduction of some special environment variables that the unit tests will use to work properly when run in VMs.
2019-06-11 14:11:20 -07:00
Anirudh Santhiar 959075fd45
Move coverage file upload to a pip dependent on the qtest pip (#373)
* Move coverage file upload to a pip dependent on the qtest pip, so that even if the test is a cache hit, coverage files will be uploaded

* Minor

* Fix argument

* Address reviewer comments

* Minor

* Address reviewer comments

* Minor

* Fix path separator

* Update qtest version

* Address reviewer comments
2019-05-31 09:25:48 -07:00
Anirudh Santhiar 2a7913cc01
Upgrade QTest version (#352) 2019-05-21 11:33:31 -07:00
Kristijan Šimić d87f097d6d
First notarized KEXT release (#341) 2019-05-20 19:16:28 +02:00
Aleksandar Milicevic 789e2f71ae
Compile and publish new runtime.osx-x64.BuildXL (#328)
PR #279 made changes to runtime.osx-x64.BuildXL but didn't publish a new version of it
2019-05-17 09:08:15 -07:00
Iman Narasamdya 623528ae5b
Launch pips in VM (#322)
This change allows us to launch pips in the VM. This change also includes more logging when VmCommandProxy is invoked.

Some changes need to be added to CloudBuild's side:

Subst B: in VM for D:\dbs\el\bxlint
Net share D: in all involved host machines.
2019-05-16 17:07:46 -07:00
Kristijan Šimić dd841725e5
Transition to .NETCore 3.0 for BuildXL (#298)
* Switch to .NetCoreApp3.0 as main .NETCore build target
2019-05-14 16:54:06 +02:00
Anirudh Santhiar 679d336bb5
Add an option to help support vsjit debugging with qtest (#288)
* Add an option to help support vsjit debugging with qtest

* Remove arguments that are not picked up from the build definition
2019-05-10 17:53:03 -07:00
Iman Narasamdya b40a6d837d
Hook up mechanism for running pip in VM (#251)
In this change we hook up the mechanism for running pip in VM.

Interaction with VM is via so-called VmCommandProxy, which is provided by CB team. Instead of calling the methods of VmCommandProxy, we launch VmCommandProxy executable with specific commands. In this way, we don't need to be bound by the .NET framework used by VmCommandProxy.

Currently, VM initialization requires username/password because it has to create a drive map from the VM back to the host. This will change soon. The changes in this PR will enable us to test running pip in VM in the CI/CBTest environment.
2019-05-06 11:44:01 -07:00
Aleksandar Milicevic b6a0ca4a62
[MacSandbox] skip unnecessarily creating trie nodes on lookups (#246)
Before this PR, on every trie operation a leaf node corresponding to a given key is retrieved, creating any intermediate nodes along the way.

This is unnecessary for lookup operations. When the key does not exist in the trie, instead of traversing the trie until a leaf node is found and creating all intermediate nodes along the way, the lookup should fail as soon as an intermediate node is not found.

As a consequence of the previous implementation, if a process connects to the kext and then immediately disconnects, that alone causes the size of the `connectedClients_` dictionary to monotonically grow. This can become a problem because those nodes are released only when the kext is unloaded.
2019-05-03 08:52:46 -07:00
Anirudh Santhiar ba2d4bce6c Add CodeCoverage and ZipSandbox options to QTest (#217) 2019-05-01 12:09:46 -07:00
Huihui Nora Huang 5cc2d21653
update Qtest latest version (#151) 2019-04-17 15:09:06 -07:00
Aleksandar Milicevic 3e45361641
[MacSandbox] Extract bundle identifier into an xcconfig (#64)
This will be useful because being able to control bundle identifier and buildxl class prefix from a single place will allow us to easily build and simultaneously load multiple versions of our kext (e.g., one for LKG and one for tests)
2019-04-01 18:15:44 -07:00
Aleksandar Milicevic b906a17a2f
[MacSandbox] Use consistent prefix for all OSObject class names (#48)
All OSObject classes are added to a global (system-wide) registry. To avoid name collisions with classes from other kernel extensions, class names should be fully qualified. Currently, we have a bunch of OSObject classes whose names are very generic, like Thread, or ConcurrentDictionary, or Node, etc.

This PR renames all our OSObject classes by prepending com_microsoft_buildxl_ to their existing names.
2019-03-29 09:36:07 -07:00
Microsoft Open Source b5c9f43106 Initial sync
Sync from internal 'Domino' repo at 7ef83bdcd855bd3a837464e44d6de25f19775b5c
2019-03-28 15:35:49 -07:00