Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Implement basic instrumentation tests #126

Closed
wants to merge 107 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
dc6d1b2
init
ShootingKing-AM Apr 28, 2023
4e2f1f3
Update build.yml
ShootingKing-AM Apr 29, 2023
d9dd36e
Update build.yml
ShootingKing-AM Apr 29, 2023
77c0e36
Update build.yml
ShootingKing-AM Apr 29, 2023
bec3528
fix: gradle github-pr integration
ShootingKing-AM Apr 29, 2023
75b9091
Update build.yml
ShootingKing-AM Apr 29, 2023
7b84b1a
safe shutdown pvr-adb-telnet server
ShootingKing-AM Apr 29, 2023
1f89d59
Update build.yml
ShootingKing-AM Apr 29, 2023
e87a5ab
Update build.yml
ShootingKing-AM Apr 29, 2023
8a3afc3
Update build.yml
ShootingKing-AM Apr 29, 2023
523204c
Update build.yml
ShootingKing-AM Apr 29, 2023
8b2b8b3
Update ALVRActivityTest.kt
ShootingKing-AM Apr 29, 2023
7280de9
Update build.yml
ShootingKing-AM Apr 29, 2023
4b1e94c
Update build.yml
ShootingKing-AM Apr 29, 2023
893e19a
Update build.yml
ShootingKing-AM Apr 29, 2023
4f69b42
Update build.yml
ShootingKing-AM Apr 29, 2023
2632e89
Update build.yml
ShootingKing-AM Apr 30, 2023
3ca8069
Update build.yml
ShootingKing-AM Apr 30, 2023
3da5765
Update build.yml
ShootingKing-AM Apr 30, 2023
8352c96
Update build.yml
ShootingKing-AM Apr 30, 2023
e71fd1a
Update build.yml
ShootingKing-AM Apr 30, 2023
123913f
Update build.yml
ShootingKing-AM Apr 30, 2023
e3155a4
Update build.yml
ShootingKing-AM Apr 30, 2023
fcfb67e
Update build.yml
ShootingKing-AM Apr 30, 2023
16bac7c
fix: CI ANR
ShootingKing-AM Apr 30, 2023
727cf16
Update build.yml
ShootingKing-AM Apr 30, 2023
e2af919
refac to class
ShootingKing-AM Apr 30, 2023
bdfd43d
Update build.yml
ShootingKing-AM Apr 30, 2023
375d939
Update build.yml
ShootingKing-AM May 1, 2023
4421244
Update build.yml
ShootingKing-AM May 1, 2023
0d1fe46
Update build.yml
ShootingKing-AM May 1, 2023
9c2cf47
Update build.yml
ShootingKing-AM May 1, 2023
da078c3
Update build.yml
ShootingKing-AM May 1, 2023
4dcf165
Update build.yml
ShootingKing-AM May 1, 2023
ebc44ff
Update build.yml
ShootingKing-AM May 1, 2023
91c3fa4
Update build.gradle
ShootingKing-AM May 1, 2023
d9b3f14
Update build.yml
ShootingKing-AM May 1, 2023
c7954bc
Update build.yml
ShootingKing-AM May 1, 2023
3322160
Update build.yml
ShootingKing-AM May 1, 2023
f349ca1
Update build.yml
ShootingKing-AM May 1, 2023
a80ac41
Update build.yml
ShootingKing-AM May 1, 2023
c2ed291
Update build.yml
ShootingKing-AM May 1, 2023
0b599f5
Update build.yml
ShootingKing-AM May 1, 2023
fbe383b
Update AndroidManifest.xml
ShootingKing-AM May 1, 2023
ba68cc7
upd
ShootingKing-AM May 1, 2023
7bb4948
Update build.yml
ShootingKing-AM May 1, 2023
dfec209
Update build.yml
ShootingKing-AM May 1, 2023
886b217
Update build.yml
ShootingKing-AM May 1, 2023
49775af
Update build.yml
ShootingKing-AM May 1, 2023
c5ec06f
Update build.yml
ShootingKing-AM May 1, 2023
7d270e3
Update build.yml
ShootingKing-AM May 1, 2023
1d4faa6
Update build.yml
ShootingKing-AM May 1, 2023
a808cfe
Update build.yml
ShootingKing-AM May 1, 2023
6778c81
Update build.yml
ShootingKing-AM May 1, 2023
86856f9
Update build.yml
ShootingKing-AM May 1, 2023
1dc8ed3
Update build.yml
ShootingKing-AM May 1, 2023
147cd9d
Update build.yml
ShootingKing-AM May 1, 2023
4394f8f
Update build.yml
ShootingKing-AM May 1, 2023
8c8557c
Update build.yml
ShootingKing-AM May 1, 2023
3a3eb72
Update build.yml
ShootingKing-AM May 1, 2023
82c8a0b
Update build.yml
ShootingKing-AM May 1, 2023
b96d26b
Update build.yml
ShootingKing-AM May 1, 2023
a385df6
Update build.yml
ShootingKing-AM May 1, 2023
427a1c4
Update build.yml
ShootingKing-AM May 1, 2023
a6c18db
Update build.yml
ShootingKing-AM May 1, 2023
e6a72b2
Update build.yml
ShootingKing-AM May 1, 2023
1c7eac6
Update build.yml
ShootingKing-AM May 1, 2023
9620f04
Update build.yml
ShootingKing-AM May 1, 2023
30e95dc
Update build.yml
ShootingKing-AM May 2, 2023
39d5d88
Update ALVRActivityTest.kt
ShootingKing-AM May 2, 2023
341f99a
upd
ShootingKing-AM May 2, 2023
a87b645
Update build.yml
ShootingKing-AM May 2, 2023
cc71e7d
Update build.yml
ShootingKing-AM May 2, 2023
34ebfec
upd
ShootingKing-AM May 2, 2023
340c2b9
Update build.yml
ShootingKing-AM May 2, 2023
a41c902
Update build.yml
ShootingKing-AM May 8, 2023
9c8fb25
Update build.yml
ShootingKing-AM May 8, 2023
674b3ea
Update build.yml
ShootingKing-AM May 8, 2023
3f5704b
Update build.yml
ShootingKing-AM May 8, 2023
323b2ac
Update build.yml
ShootingKing-AM May 8, 2023
ea5ca03
Update build.yml
ShootingKing-AM May 8, 2023
24c7475
Update build.yml
ShootingKing-AM May 8, 2023
0ab5005
Create .cirrus.yml
ShootingKing-AM May 8, 2023
120f9f0
Update .cirrus.yml
ShootingKing-AM May 8, 2023
623f4ad
Update .cirrus.yml
ShootingKing-AM May 8, 2023
b9a42ba
Update .cirrus.yml
ShootingKing-AM May 8, 2023
e0a2a88
Update .cirrus.yml
ShootingKing-AM May 8, 2023
56ec264
Update build.yml
ShootingKing-AM May 8, 2023
589f748
Update .cirrus.yml
ShootingKing-AM May 8, 2023
a32aacd
Update .cirrus.yml
ShootingKing-AM May 8, 2023
061f36e
Update .cirrus.yml
ShootingKing-AM May 8, 2023
f6898db
Update .cirrus.yml
ShootingKing-AM May 8, 2023
7fa260a
Update .cirrus.yml
ShootingKing-AM May 8, 2023
e3ed755
Update .cirrus.yml
ShootingKing-AM May 8, 2023
fb5375f
Update .cirrus.yml
ShootingKing-AM May 8, 2023
f8113ac
Update build.yml
ShootingKing-AM May 8, 2023
d3cb551
Update build.yml
ShootingKing-AM May 8, 2023
1e99b46
Update build.yml
ShootingKing-AM May 8, 2023
68ed267
Update build.yml
ShootingKing-AM May 9, 2023
21129cf
Update build.yml
ShootingKing-AM May 9, 2023
8a63621
Update build.yml
ShootingKing-AM May 9, 2023
f4184d7
Update .cirrus.yml
ShootingKing-AM May 9, 2023
d7b663c
Update build.yml
ShootingKing-AM May 9, 2023
24a083a
Update build.yml
ShootingKing-AM May 9, 2023
8742940
Update build.yml
ShootingKing-AM May 9, 2023
231f38f
Update build.yml
ShootingKing-AM May 9, 2023
85fe069
Delete .cirrus.yml
ShootingKing-AM May 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,050 changes: 1,026 additions & 24 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion code/mobile/android/PhoneVR/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,21 @@ keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
signingConfigs {
releaseconfig {
if( System.env.github && System.env.github.event_name && System.env.github.event_name == 'pull_request' ) {
if( System.getenv('GITHUB_EVENT_NAME') == 'pull_request' || System.getenv("Store") == null || System.getenv("Key") == null ) {
// If its a PR Supply a dummy KeySigningConfig
// Or in Local env if Store and Keys are not present in ENV Vars do the same
storeFile file("PhoneVRKeyStorePR.jks")
storePassword "test1234"
keyAlias "PhoneVRKeyPR"
keyPassword "test1234"
println "Configuring releaseconfigs for testing a PR..."
}
else {
storeFile file(keystoreProperties['storeFile'])
storePassword System.getenv("Store")
keyAlias keystoreProperties['keyAlias']
keyPassword System.getenv("Key")
println "Configuring releaseconfigs for release (push) (not a PR)"
}
}
}
Expand Down Expand Up @@ -86,6 +89,17 @@ android {
path "CMakeLists.txt"
}
}
project.gradle.taskGraph.whenReady {
android.productFlavors.all { flavor ->
// Capitalize (as Gralde is case-sensitive).
def flavorName = flavor.name.substring(0, 1).toUpperCase() + flavor.name.substring(1)

// At last, configure.
"connected${flavorName}DebugAndroidTest" {
ignoreFailures = true
}
}
}

// CompileOptions required for ARCA
compileOptions {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package viritualisres.phonevr

import android.annotation.SuppressLint
import android.os.Environment.DIRECTORY_DOWNLOADS
import android.util.Log
import androidx.test.core.app.takeScreenshot
import androidx.test.core.graphics.writeToTestStorage
Expand All @@ -13,11 +12,17 @@ import androidx.test.espresso.matcher.ViewMatchers.withText
import androidx.test.ext.junit.rules.activityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import androidx.test.rule.GrantPermissionRule
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiObjectNotFoundException
import androidx.test.uiautomator.UiSelector
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestName
import org.junit.runner.RunWith
import viritualisres.phonevr.utils.PVRInstrumentationBase
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
Expand All @@ -33,8 +38,8 @@ import java.lang.Thread.sleep
* or
* build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/Pixel_2_API_30(AVD) - 11
*/
@RunWith(AndroidJUnit4::class)
class ALVRActivityTest {
// @RunWith(AndroidJUnit4::class)
class ALVRActivityTest: PVRInstrumentationBase() {

private val TAG: String? = javaClass.simpleName

Expand All @@ -46,26 +51,6 @@ class ALVRActivityTest {

@get:Rule
var perms7: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.CAMERA);
/*@get:Rule
var perms3: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.VIBRATE);

@get:Rule
var perms1:GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.READ_EXTERNAL_STORAGE);

@get:Rule
var perms4: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.NFC);

@get:Rule
var perms5: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.INTERNET);

@get:Rule
var perms6: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.READ_LOGS);

@get:Rule
var perms9: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.WAKE_LOCK);

@get:Rule
var perms10: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_WIFI_STATE);*/

@get:Rule
var nameRule = TestName()
Expand Down Expand Up @@ -166,11 +151,48 @@ class ALVRActivityTest {
// set gravity acceleration g in Y Direction - real Mock
sendADBCommand("sensor set acceleration 9.77622:0:0");
}
/**
* Captures and saves an image of the entire device screen to storage.
*/

@SuppressLint("CheckResult")
@Test
// @Test TODO: Fix Crash related to OpenGL on MacOS - after pulling upstream changes (for extra info, bug in alvr_client_core's frames)
// 05-01 07:58:27.665 7493 7493 F DEBUG : backtrace:
// 05-01 07:58:27.666 7493 7493 F DEBUG : #00 pc 00000b99 [vdso] (__kernel_vsyscall+9)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #01 pc 0005ad68 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: 6e3a0180fa6637b68c0d181c343e6806)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #02 pc 00076511 /apex/com.android.runtime/lib/bionic/libc.so (abort+209) (BuildId: 6e3a0180fa6637b68c0d181c343e6806)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #03 pc 002ff2de /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk (offset 0x150c000)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #04 pc 002ffe01 /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk (offset 0x150c000)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #05 pc 00300d6e /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk (offset 0x150c000)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #06 pc 002904cf /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk (offset 0x150c000) (alvr_render_lobby_opengl+127)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #07 pc 00062920 /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk!libnative-lib.so (offset 0x1e4f000) (Java_viritualisres_phonevr_ALVRActivity_renderNative+3968) (BuildId: 6c0e91c7da5ce75187f221277be2b84bed4be231)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #08 pc 00142132 /apex/com.android.art/lib/libart.so (art_quick_generic_jni_trampoline+82) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.666 7493 7493 F DEBUG : #09 pc 0013b922 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+338) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #10 pc 001d0381 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+241) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #11 pc 00386701 /apex/com.android.art/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+385) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.662 7333 7440 I CardboardSDK: PosePrediction::GetRotationFromGyroscope: Velocity really small, returning identity rotation.
// 05-01 07:58:27.667 5178 7519 I Fitness : OnPackageChangedOperation got intent: Intent { act=android.intent.action.PACKAGE_CHANGED dat=package:com.google.android.gms flg=0x45000010 cmp=com.google.android.gms/.chimera.PersistentIntentOperationService (has extras) } [CONTEXT service_id=17 ]
// 05-01 07:58:27.667 7493 7493 F DEBUG : #12 pc 0037aa3e /apex/com.android.art/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1070) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #13 pc 007a4179 /apex/com.android.art/lib/libart.so (MterpInvokeDirect+633) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #14 pc 001358a1 /apex/com.android.art/lib/libart.so (mterp_op_invoke_direct+33) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #15 pc 0000399c [anon:dalvik-classes3.dex extracted in memory from /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk!classes3.dex] (viritualisres.phonevr.ALVRActivity.access$300)
// 05-01 07:58:27.667 7493 7493 F DEBUG : #16 pc 007a505e /apex/com.android.art/lib/libart.so (MterpInvokeStatic+1454) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #17 pc 00135921 /apex/com.android.art/lib/libart.so (mterp_op_invoke_static+33) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #18 pc 00003880 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~6OpgdUaw8JphsNXgyGM1Sg==/viritualisres.phonevr-NkgO07jPDvzXvA_dHjnXNA==/base.apk!classes3.dex] (viritualisres.phonevr.ALVRActivity$Renderer.onDrawFrame+4)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #19 pc 007a355e /apex/com.android.art/lib/libart.so (MterpInvokeInterface+2126) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #20 pc 001359a1 /apex/com.android.art/lib/libart.so (mterp_op_invoke_interface+33) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #21 pc 0034a3b4 /system/framework/framework.jar (offset 0x92b000) (android.opengl.GLSurfaceView$GLThread.guardedRun+1092)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #22 pc 007a44ae /apex/com.android.art/lib/libart.so (MterpInvokeDirect+1454) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #23 pc 001358a1 /apex/com.android.art/lib/libart.so (mterp_op_invoke_direct+33) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #24 pc 0034a9ac /system/framework/framework.jar (offset 0x92b000) (android.opengl.GLSurfaceView$GLThread.run+48)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #25 pc 0036fb02 /apex/com.android.art/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.16375758241455872412)+370) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #26 pc 00379b00 /apex/com.android.art/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+176) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.668 7493 7493 F DEBUG : #27 pc 0078b325 /apex/com.android.art/lib/libart.so (artQuickToInterpreterBridge+1061) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #28 pc 0014220d /apex/com.android.art/lib/libart.so (art_quick_to_interpreter_bridge+77) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #29 pc 0013b922 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+338) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #30 pc 001d0381 /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+241) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #31 pc 0062f37c /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+620) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #32 pc 0062f595 /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+85) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #33 pc 00697701 /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+1537) (BuildId: 8191579dfafff37a5cbca70f9a73020f)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #34 pc 000e6974 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) (BuildId: 6e3a0180fa6637b68c0d181c343e6806)
// 05-01 07:58:27.669 7493 7493 F DEBUG : #35 pc 00078567 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) (BuildId: 6e3a0180fa6637b68c0d181c343e6806)
@Throws(IOException::class)
fun saveDeviceScreenBitmap() {
// SKIP Cardboard API Asking to Scan QR
Expand All @@ -180,7 +202,6 @@ class ALVRActivityTest {
// View is not in hierarchy - which is okay
}

Log.d(TAG, "saveDeviceScreenBitmap: Test")
rotateAVDLandscape()
waitForADBTelnetServer() // Wait for ADBTelnetServer to execute rotation

Expand All @@ -189,6 +210,7 @@ class ALVRActivityTest {
// Wait for Rendering to settle
sleep(1000)

Log.d(TAG, "saveDeviceScreenBitmap: Executed AVD Commands, Taking screenshot...")
takeScreenshot()
.writeToTestStorage("${javaClass.simpleName}_${nameRule.methodName}")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@ package viritualisres.phonevr

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*
import org.junit.BeforeClass
import viritualisres.phonevr.utils.PVRInstrumentationBase

@RunWith(AndroidJUnit4::class)
class AppPackageTest {
class AppPackageTest: PVRInstrumentationBase() {
@Test
fun useAppContext() {
// Context of the app under test.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.isRoot
import androidx.test.ext.junit.rules.activityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestName
import org.junit.runner.RunWith
import viritualisres.phonevr.utils.PVRInstrumentationBase
import java.io.IOException
import java.lang.Thread.sleep

Expand All @@ -26,7 +31,7 @@ import java.lang.Thread.sleep
* build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/Pixel_2_API_30(AVD) - 11
*/
@RunWith(AndroidJUnit4::class)
class InitActivityTest {
class InitActivityTest: PVRInstrumentationBase() {
// a handy JUnit rule that stores the method name, so it can be used to generate unique
// screenshot files per test method
@get:Rule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.matcher.ViewMatchers.isRoot
import androidx.test.ext.junit.rules.activityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.rule.GrantPermissionRule
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestName
import org.junit.runner.RunWith
import viritualisres.phonevr.utils.PVRInstrumentationBase
import java.io.IOException
import java.lang.Thread.sleep

Expand All @@ -26,38 +31,14 @@ import java.lang.Thread.sleep
* build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/Pixel_2_API_30(AVD) - 11
*/
@RunWith(AndroidJUnit4::class)
class MainActivityTest {
class MainActivityTest: PVRInstrumentationBase() {

@get:Rule
var perms1:GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.READ_EXTERNAL_STORAGE);

@get:Rule
var perms2:GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);

/*@get:Rule
var perms3: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.VIBRATE);

@get:Rule
var perms4: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.NFC);

@get:Rule
var perms5: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.INTERNET);

@get:Rule
var perms6: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.READ_LOGS);

@get:Rule
var perms7: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.CAMERA);

@get:Rule
var perms8: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.RECORD_AUDIO);

@get:Rule
var perms9: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.WAKE_LOCK);

@get:Rule
var perms10: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_WIFI_STATE);*/

@get:Rule
var nameRule = TestName()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,15 @@ import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.matcher.ViewMatchers.isRoot
import androidx.test.ext.junit.rules.activityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestName
import org.junit.runner.RunWith
import viritualisres.phonevr.utils.PVRInstrumentationBase
import java.io.IOException
import java.lang.Thread.sleep

Expand All @@ -25,7 +30,7 @@ import java.lang.Thread.sleep
* build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/Pixel_2_API_30(AVD) - 11
*/
@RunWith(AndroidJUnit4::class)
class SettingsActivityTest {
class SettingsActivityTest: PVRInstrumentationBase() {
// a handy JUnit rule that stores the method name, so it can be used to generate unique
// screenshot files per test method
@get:Rule
Expand Down
Loading