19 Commits

Author SHA1 Message Date
Kimmo Kinnunen
f507fe05cd Rename PLATFORM_IOS to PLATFORM_IOS_FAMILY
The current define ANGLE_PLATFORM_IOS actually means
"iOS or tvOS or WatchOS or MacCatalyst".
The current define ANGLE_PLATFORM_WATCHOS means nothing.
The current define ANGLE_PLATFORM_APPLETV means nothing.

Replace PLATFORM_IOS and its uses with PLATFORM_IOS_FAMILY, so that
then PLATFORM_IOS can be reintroduced and others can be fixed.

Replace PLATFORM_IOS_SIMULATOR and its uses with
PLATFORM_IOS_FAMILY_SIMULATOR for consistency.

Use consistent `#if X` notation instead of `#if defined(X)`.

Bug: angleproject:8121
Change-Id: Ibe668c2ae9bb801d15e036fcf1dfd53f22c30787
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404161
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
2023-04-12 10:42:44 +00:00
Ian Vollick
9199e77d26 [ios] simulator fixes for angle_unittests
Disables some tests that do not currently work in the
iOS simulator.

Bug: angleproject:8116
Change-Id: I66bb9a6e2a5d10a567824e9fac163e7fd6b6a474
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4393495
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2023-04-04 22:47:32 +00:00
Jamie Madill
08df7ce440 Test Runner: Disable --bot-mode on Fuchsia.
This flag is a bit hard to get going because of the differences in
the Fuchsia system APIs. Disable it explicitly for now to avoid
issues when we switch bot configs.

Bug: angleproject:7312
Change-Id: I47cd038b198f265a6b60893faf6f50f02be49fda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792163
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2022-07-28 15:49:10 +00:00
Jamie Madill
b968b6c997 Test Utils: Get executable path from command line.
This simplifies the process fork test and will allow the test to
work on Fuchsia.

Bug: angleproject:3161
Change-Id: I5bb5424c44957f2faef1970b3cbc5e52b8aff630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788297
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2022-07-27 10:56:55 +00:00
Eddie Hatfield
916a35dd0a Merge getTempPath and CreateTemporaryFile
Also includes moving these two (and some helpers) to
common/system_utils.h

Bug: angleproject:5095
Change-Id: I7d2fcbd27a67dc13215265ac5b5e8391b15a980b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3733519
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-07-06 19:57:02 +00:00
Jamie Madill
ca96cba9c5 Make ReadEntireFileToString return a std::string.
Note: this makes the method unavailable for export from angle_util,
which is probably why it was designed the way it was in the first
place. However, we import the test utils source file as a static
lib into each test executable and test shared module, so it works.

Bug: angleproject:7404
Change-Id: Ia957268882c2b8529643660d7d4f34d142c0dc43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3708602
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
2022-06-17 14:22:15 +00:00
Lingfeng Yang
e9f9fa17da Add cpu time measurement to perf tests
Bug: angleproject:6667
Change-Id: I16570a7b51d363dd1c0f35789b985520cb76d488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270601
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2021-11-17 17:13:00 +00:00
Jamie Madill
666fcf386f Rename functions that overlap with Windows APIs.
Bug: angleproject:6283
Change-Id: Ifcd9ea9e3bf729fd2066178eb9429050b2f10518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212894
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-10-08 17:08:13 +00:00
Shahbaz Youssefi
22ae4ce0ea Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
This reverts commit f4f866ce28.

Reason for revert: These tests should not be disabled. The culprit is
fixed per crbug.com/1233361

Original change's description:
> Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
>
> The tests are blocking the CQ due to flakiness.
>
> Bug: chromium:1233361
> Change-Id: Ib0283e201c271379364a177bea130d63322eee53
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058233
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: chromium:1233361
Change-Id: I24682f74d790d40f58a9526aaaaa842c3df23ec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058502
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-30 15:17:18 +00:00
Anton Bikineev
f4f866ce28 Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
The tests are blocking the CQ due to flakiness.

Bug: chromium:1233361
Change-Id: Ib0283e201c271379364a177bea130d63322eee53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058233
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-28 15:52:37 +00:00
Kyle Piddington
d33a22228e Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.

Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2021-07-12 14:54:45 +00:00
Shahbaz Youssefi
72d2bd0c87 Allow capturing process stdout and stderr interleaved
The test utils are enhanced to allow redirecting stderr to stdout.  This
is in preparation for a change that makes the test runner capture stderr
together with stdout.  Currently, on failure logs originating from
UNIMPLEMENTED() and other such macros are not captured.

Bug: angleproject:6077
Change-Id: I7a3c6c4732a59dac3ff0cc20a7835d5ed6f0f22e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976183
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-06-22 20:01:31 +00:00
Trevor David Black
e815afbf88 First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code

Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
2020-10-02 19:49:38 +00:00
Jamie Madill
d32650bb9e Posix: Fix async LaunchProcess.
The prior method was only checking for a PID's existance. We should
also check for zombie process states. This allows our child process
launcher to correctly determine when a process is done on Linux and
other Posix systems.

Also starts the test timer on Posix LaunchProcess implementations.

Also removes the need to end command line arg lists with nullptr.

Also removes some Fuchsia-specific preprocessor checks.

Also adds a regression test.

Bug: angleproject:3162
Change-Id: I5725a8a0e8c5151f2d3e06df0a36dd64c0e0ee69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928873
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-11-22 23:01:19 +00:00
Jamie Madill
95a736bd33 Reland "Add more test_utils functions."
This is a reland of 5fcfcea4a9

Re-land uses static linking with angle_util. The root cause
of the CFI error wasn't solved. Static linking works around
the problem by not using any export rules.

Second re-land fixes missing imports for libEGL and libGLESv2
static varieties.

Original change's description:
> Add more test_utils functions.
>
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
>
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
>
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

Bug: chromium:1015810
Bug: angleproject:3162
Change-Id: I2a18b819b0f91df610ad12ffedea2b38349fe7cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879859
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-10-26 15:49:19 +00:00
Jamie Madill
f939cb63fd Revert "Reland "Add more test_utils functions.""
This reverts commit 7923e234bc.

Reason for revert: Fails compilation on rollers:

    [2097/6048] SOLINK ./lib_angle_unittests__library.cr.so
    FAILED: lib_angle_unittests__library.cr.so lib_angle_unittests__library.cr.so.TOC lib.unstripped/lib_angle_unittests__library.cr.so
    python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/android_ndk/toolch...(too long)
    ld.lld: error: undefined symbol: glCreateShader
    >>> referenced by shader_utils.cpp
    >>>               angle_util_static/shader_utils.o:(CompileShader(unsigned int, char const*)) in archive obj/third_party/angle/libangle_util_static.a
    
    ld.lld: error: undefined symbol: glShaderSource

Original change's description:
> Reland "Add more test_utils functions."
> 
> This is a reland of 5fcfcea4a9
> 
> Re-land uses static linking with angle_util. The root cause
> of the CFI error wasn't solved. Static linking works around
> the problem by not using any export rules.
> 
> Original change's description:
> > Add more test_utils functions.
> >
> > Includes methods for creating temporary files, deleting files, and
> > reading files into a string. Also renames GetPathSeparator to mention
> > it's only used for environment variables. Includes a new virtual type
> > angle::Process that will be used to implement cross-platform async
> > Process launching for tests. Also includes a way to specify a custom
> > crash handler callback.
> >
> > Also adds a few unit tests for the new functionality. They are disabled
> > on Android because the functions are not needed by the new test runner.
> >
> > Bug: angleproject:3162
> > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> > Commit-Queue: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> 
> Bug: chromium:1015810
> Bug: angleproject:3162
> Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org

Change-Id: I975b2214411906cb981bffa04fa50e0a65ff8b4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1015810, angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-10-20 21:44:47 +00:00
Jamie Madill
7923e234bc Reland "Add more test_utils functions."
This is a reland of 5fcfcea4a9

Re-land uses static linking with angle_util. The root cause
of the CFI error wasn't solved. Static linking works around
the problem by not using any export rules.

Original change's description:
> Add more test_utils functions.
>
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
>
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
>
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

Bug: chromium:1015810
Bug: angleproject:3162
Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-10-20 21:15:05 +00:00
Lan Wei
0cb09633d6 Revert "Add more test_utils functions."
This reverts commit 5fcfcea4a9.

Reason for revert:
1 Test Suite(s) failed. angle_unittests failed because of:
TestUtils.RunApp on Linux CFI
https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI


Original change's description:
> Add more test_utils functions.
> 
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
> 
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
> 
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org

Change-Id: I1441bfbae31712f72b4aebeeea9cd711c3975a5d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869254
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-10-18 18:18:19 +00:00
Jamie Madill
5fcfcea4a9 Add more test_utils functions.
Includes methods for creating temporary files, deleting files, and
reading files into a string. Also renames GetPathSeparator to mention
it's only used for environment variables. Includes a new virtual type
angle::Process that will be used to implement cross-platform async
Process launching for tests. Also includes a way to specify a custom
crash handler callback.

Also adds a few unit tests for the new functionality. They are disabled
on Android because the functions are not needed by the new test runner.

Bug: angleproject:3162
Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-10-17 19:57:45 +00:00