Skip to content

FileNotFoundException: ...\utbotJs\tempBase.json on test generation for file with import #2500

Open
@tyuldashev

Description

@tyuldashev

Description
In case JS file contains import, test generation fails with exception FileNotFound.

To Reproduce

  1. Install UnitTestBot plugin built from main in IntelliJ IDEA
  2. On plugin settings page enable support for Experimental languages
  3. Open some JS project
  4. Generate tests for following code:
import Division from './Divison';

class TestError {
  foo() {
    return new Division();
  }
}

where Division is just empty class:

export default class Division {

}

Expected behavior
Tests are generated or no tests are generated without errors.

Actual behavior
Tests are not generated, exception has been thrown.

Screenshots, logs

java.io.FileNotFoundException: C:\Users\t00814305\IdeaProjects\javascript-algorithms\utbotJs\tempBase.json (The system cannot find the file specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at kotlin.io.FilesKt__FileReadWriteKt.readText(FileReadWrite.kt:125)
	at kotlin.io.FilesKt__FileReadWriteKt.readText$default(FileReadWrite.kt:125)
	at service.coverage.CoverageService$Companion.getBaseCoverage(CoverageService.kt:51)
	at service.coverage.CoverageServiceProvider.<init>(CoverageServiceProvider.kt:91)
	at api.JsTestGenerator$runFuzzingFlow$1.invokeSuspend(JsTestGenerator.kt:259)
	at api.JsTestGenerator$runFuzzingFlow$1.invoke(JsTestGenerator.kt)
	at api.JsTestGenerator$runFuzzingFlow$1.invoke(JsTestGenerator.kt)
	at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
	at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
	at api.JsTestGenerator$makeTestsForMethod$1.invokeSuspend(JsTestGenerator.kt:172)
	at api.JsTestGenerator$makeTestsForMethod$1.invoke(JsTestGenerator.kt)
	at api.JsTestGenerator$makeTestsForMethod$1.invoke(JsTestGenerator.kt)
	at org.utbot.common.ConcurrencyKt$runBlockingWithCancellationPredicate$1$job$1.invokeSuspend(Concurrency.kt:39)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at org.utbot.common.ConcurrencyKt.runBlockingWithCancellationPredicate(Concurrency.kt:38)
	at api.JsTestGenerator.makeTestsForMethod(JsTestGenerator.kt:171)
	at api.JsTestGenerator.run(JsTestGenerator.kt:131)
	at org.utbot.intellij.plugin.language.js.JsDialogProcessor$createTests$1.run(JsDialogProcessor.kt:195)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:428)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:115)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:478)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:251)
	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:71)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:71)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:251)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$18(ProgressRunner.java:465)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

Metadata

Metadata

Assignees

No one assigned

    Labels

    comp-codegenIssue is related to code generatorctg-bugIssue is a buglang-javascriptIssue is related to JavaScript support

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions