This is an automated email from the ASF dual-hosted git repository.

hdalsania pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git


The following commit(s) were added to refs/heads/main by this push:
     new 2ce77fb1 Bump sbt/setup-sbt from 1.1.22 to 1.5.6
2ce77fb1 is described below

commit 2ce77fb1d526433e276c616c59f51deb3a08c400
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sat Aug 1 00:12:30 2026 +0000

    Bump sbt/setup-sbt from 1.1.22 to 1.5.6
    
    Bumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.1.22 to 
1.5.6.
    - [Release notes](https://github.com/sbt/setup-sbt/releases)
    - 
[Commits](https://github.com/sbt/setup-sbt/compare/508b753e53cb6095967669e0911487d2b9bc9f41...bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf)
    
    ---
    updated-dependencies:
    - dependency-name: sbt/setup-sbt
      dependency-version: 1.5.6
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
---
 .github/workflows/CI.yml                           |  4 +--
 .github/workflows/nightly.yml                      |  2 +-
 .../org.apache.daffodil.debugger.dap/Parse.scala   | 23 ++++++--------
 src/tests/runTest.ts                               | 37 +++++++++++++++++++++-
 src/tests/suite/daffodilDebugger.test.ts           |  2 +-
 src/tests/suite/utils.test.ts                      |  2 +-
 6 files changed, 51 insertions(+), 19 deletions(-)

diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index bf0dc5d1..20bbbb66 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -87,7 +87,7 @@ jobs:
           cache-dependency-path: yarn.lock
 
       - name: Setup sbt
-        uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+        uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
 
       ############################################################
       # Lint/format checks
@@ -151,7 +151,7 @@ jobs:
 
       # some runner oses don't have sbt by default
       - name: Setup sbt
-        uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+        uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
 
       - name: Install Node.js
         uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # 
v6.4.0
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 22785e91..8f690559 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -86,7 +86,7 @@ jobs:
 
       # some runner oses don't have sbt by default
       - name: Setup sbt
-        uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1
+        uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6
 
       ############################################################
       # Build & Package
diff --git 
a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala 
b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
index c6777f85..117ef2f0 100644
--- a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
+++ b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
@@ -1256,7 +1256,7 @@ object Parse {
       bos.toString("UTF-8")
     }
 
-    private def createInfosetWalker(ie: DIElement, outputter: AnyRef): AnyRef 
= {
+    private def createInfosetWalker(ie: DIElement, outputter: AnyRef): AnyRef =
       createInfosetWalkerFromCompanion(ie, outputter)
         .orElse(createInfosetWalkerFromStreamingClass(ie, outputter))
         .orElse(createInfosetWalkerFromCtor(ie, outputter))
@@ -1265,7 +1265,6 @@ object Parse {
             "Unable to create infoset walker. Unsupported Daffodil runtime API 
for infoset serialization."
           )
         }
-    }
 
     def isCompatibleRuntimeForInfosetSerialization(): Boolean =
       hasCompatibleInfosetWalkerCompanionApi() || 
hasCompatibleStreamingInfosetWalkerApi() || hasCompatibleNonStreamingCtorApi()
@@ -1273,8 +1272,7 @@ object Parse {
     private def hasCompatibleInfosetWalkerCompanionApi(): Boolean =
       Try {
         val companion = 
Class.forName("org.apache.daffodil.runtime1.infoset.InfosetWalker$")
-        companion
-          .getMethods
+        companion.getMethods
           .filter(m => m.getName == "apply")
           .exists(m => isCompatibleApplyMethod(m, classOf[DIElement], None))
       }.getOrElse(false)
@@ -1282,8 +1280,7 @@ object Parse {
     private def hasCompatibleStreamingInfosetWalkerApi(): Boolean =
       Try {
         val clazz = 
Class.forName("org.apache.daffodil.runtime1.infoset.StreamingInfosetWalker")
-        clazz
-          .getMethods
+        clazz.getMethods
           .filter(m => m.getName == "apply")
           .exists(m => isCompatibleApplyMethod(m, classOf[DIElement], None))
       }.getOrElse(false)
@@ -1298,8 +1295,7 @@ object Parse {
       Try {
         val companion = 
Class.forName("org.apache.daffodil.runtime1.infoset.InfosetWalker$")
         val module = companion.getField("MODULE$").get(null)
-        val maybeMethod = companion
-          .getMethods
+        val maybeMethod = companion.getMethods
           .filter(m => m.getName == "apply")
           .find(m => isCompatibleApplyMethod(m, ie.getClass, 
Some(outputter.getClass)))
 
@@ -1328,8 +1324,7 @@ object Parse {
     private def createInfosetWalkerFromStreamingClass(ie: DIElement, 
outputter: AnyRef): Option[AnyRef] =
       Try {
         val clazz = 
Class.forName("org.apache.daffodil.runtime1.infoset.StreamingInfosetWalker")
-        val maybeApply = clazz
-          .getMethods
+        val maybeApply = clazz.getMethods
           .filter(m => m.getName == "apply")
           .find(m => isCompatibleApplyMethod(m, ie.getClass, 
Some(outputter.getClass)))
 
@@ -1358,9 +1353,11 @@ object Parse {
     private def createInfosetWalkerFromCtor(ie: DIElement, outputter: AnyRef): 
Option[AnyRef] =
       Try {
         val clazz = 
Class.forName("org.apache.daffodil.runtime1.infoset.NonStreamingInfosetWalker")
-        val ctor = clazz.getConstructors.find(_.getParameterCount == 
2).getOrElse(
-          throw new 
NoSuchMethodException("NonStreamingInfosetWalker(DIElement, InfosetOutputter)")
-        )
+        val ctor = clazz.getConstructors
+          .find(_.getParameterCount == 2)
+          .getOrElse(
+            throw new 
NoSuchMethodException("NonStreamingInfosetWalker(DIElement, InfosetOutputter)")
+          )
 
         ctor.newInstance(ie, outputter).asInstanceOf[AnyRef]
       }.toOption
diff --git a/src/tests/runTest.ts b/src/tests/runTest.ts
index 8a755750..141c341e 100644
--- a/src/tests/runTest.ts
+++ b/src/tests/runTest.ts
@@ -16,6 +16,7 @@
  */
 
 // All tests ran here are ones that require the vscode API
+import * as fs from 'fs'
 import * as path from 'path'
 import { runTests, downloadAndUnzipVSCode } from '@vscode/test-electron'
 
@@ -24,6 +25,36 @@ import { runTests, downloadAndUnzipVSCode } from 
'@vscode/test-electron'
 const DEFAULT_DAFFODIL_TEST_VSCODE_VERSION =
   require('../../package.json').engines.vscode.replace('^', '')
 
+function resolveMacOSExecutable(executablePath: string): string {
+  if (process.platform !== 'darwin' || fs.existsSync(executablePath)) {
+    return executablePath
+  }
+
+  const macOSDirectory = path.dirname(executablePath)
+  const infoPlistPath = path.resolve(macOSDirectory, '../Info.plist')
+
+  try {
+    const infoPlist = fs.readFileSync(infoPlistPath, 'utf8')
+    const executableName = infoPlist.match(
+      /<key>CFBundleExecutable<\/key>\s*<string>([^<]+)<\/string>/
+    )?.[1]
+
+    if (executableName) {
+      const resolvedPath = path.resolve(macOSDirectory, executableName)
+      if (
+        path.dirname(resolvedPath) === macOSDirectory &&
+        fs.existsSync(resolvedPath)
+      ) {
+        return resolvedPath
+      }
+    }
+  } catch {
+    // Preserve the original path so runTests reports the launch failure.
+  }
+
+  return executablePath
+}
+
 async function main() {
   const disable_cert_verification =
     process.argv.includes('-k') ||
@@ -49,7 +80,11 @@ async function main() {
     // Passed to --extensionTestsPath
     const extensionTestsPath = path.resolve(__dirname, './suite/index')
 
-    const vscodeExecutablePath = await 
downloadAndUnzipVSCode(testVsCodeVersion)
+    const downloadedExecutablePath =
+      await downloadAndUnzipVSCode(testVsCodeVersion)
+    const vscodeExecutablePath = resolveMacOSExecutable(
+      downloadedExecutablePath
+    )
 
     // Download VS Code, unzip it and run the integration tests
     const runTestsResult = await runTests({
diff --git a/src/tests/suite/daffodilDebugger.test.ts 
b/src/tests/suite/daffodilDebugger.test.ts
index eaf2b317..1fc85bf8 100644
--- a/src/tests/suite/daffodilDebugger.test.ts
+++ b/src/tests/suite/daffodilDebugger.test.ts
@@ -140,7 +140,7 @@ async function getDebuggerConfigs() {
     const infosetFormat = i % 2 == 0 ? 'xml' : 'json'
     const dfdlDebugger: DFDLDebugger = {
       daffodilVersion: debuggerVersionsToTest[versionIndex],
-      timeout: '10m',
+      timeout: '30m',
       logging: {
         level: 'INFO',
         file: path.join(os.tmpdir(), 
`yarn-test-daffodil-debugger-${port}.log`),
diff --git a/src/tests/suite/utils.test.ts b/src/tests/suite/utils.test.ts
index 17f06c9c..cfbf0047 100644
--- a/src/tests/suite/utils.test.ts
+++ b/src/tests/suite/utils.test.ts
@@ -60,7 +60,7 @@ suite('Utils Test Suite', () => {
       },
     },
     dfdlDebugger: {
-      daffodilVersion: '3.11.0',
+      daffodilVersion: '4.2.0',
       timeout: '10s',
       logging: {
         level: 'INFO',

Reply via email to