Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
9fcf5c0
UTBotFamily
denis-fokin Oct 5, 2022
eee8f85
Add CodeGenLanguage.id
tamarinvs19 Oct 5, 2022
08ccb65
Update Renderers
tamarinvs19 Oct 5, 2022
301f2d5
Move codeGenLanguage to CgRenderContext
tamarinvs19 Oct 5, 2022
ddc57d9
Add init to CodeLanguage
tamarinvs19 Oct 5, 2022
8086a63
UTBotFamily
denis-fokin Oct 5, 2022
0708155
Fix after merge bugs
tamarinvs19 Oct 5, 2022
64ade72
Fix bug with variableConstructors and remove ExecutionStateAnalyzer from
tamarinvs19 Oct 6, 2022
50c9a57
Update generated_tests__dicts
tamarinvs19 Oct 6, 2022
6a6a337
Change targetCompatibility verstion
tamarinvs19 Oct 6, 2022
9e9725c
Refactor js
tamarinvs19 Oct 6, 2022
8a53d09
Fix PycharmUltimate code and uncomment js
tamarinvs19 Oct 6, 2022
8abe0b7
Fix Windows symbols problem
tamarinvs19 Oct 6, 2022
542aeae
Disable runIde tasks in modules where we need only Idea sdk dependencies
denis-fokin Oct 6, 2022
ee45191
Merge actual UTBot Go, set up and fix its CLI
GlebSolovev Oct 4, 2022
e44813d
Improve requirements description for UTBot Go
GlebSolovev Oct 4, 2022
a3ad833
Merge UTBot Go IntelliJ plugin support
tamarinvs19 Oct 7, 2022
a7b8d25
Fix Go
tamarinvs19 Oct 7, 2022
8def007
New file chooser in Python plugin
tochilinak Oct 7, 2022
0af38e8
Fixed bug in Python cli
tochilinak Oct 7, 2022
14ff580
Refactored Slava's CodegenLanguage
zishkaz Oct 7, 2022
d8328e2
disable go runIde
Markoutte Oct 10, 2022
8a91164
Change "\\" to File.separator
tamarinvs19 Oct 10, 2022
14ccaf6
Add relation sys.path support
tamarinvs19 Oct 10, 2022
894707b
Change cli result output
tamarinvs19 Oct 10, 2022
78e8f9d
[WIP] Linux cmd possible fix
rudolf101 Oct 11, 2022
99c5d8b
[WIP] universal JsCmdExec implementation
zishkaz Oct 14, 2022
e6b0168
Moved OsProvider for a wider access scope
zishkaz Oct 14, 2022
299452d
Getting node and npm from IDEA settings
zishkaz Oct 14, 2022
ba23868
JsDynamicSettings added
zishkaz Oct 14, 2022
4b3fb14
[WIP] Added nyc path field to dialog window
rudolf101 Oct 14, 2022
079e8d0
New js coverage algo implementation
zishkaz Oct 16, 2022
319bc54
Added nyc path field into dialog window
rudolf101 Oct 17, 2022
54f079c
Update samples
tamarinvs19 Oct 17, 2022
ff1b093
Added replace separator in Nyc validation
rudolf101 Oct 18, 2022
9ed03f0
Added new options to js CLI and fixed exports managers
zishkaz Oct 18, 2022
074d0d1
Fix after rebase problems
tamarinvs19 Oct 19, 2022
b11718f
Fixed js samples and help tips in js CLI
zishkaz Oct 19, 2022
18f514f
Fixed js exports managers regexes
zishkaz Oct 19, 2022
eae8efe
Move language-specific UtModels to utbo-<lang> and remove CodegenLang…
tamarinvs19 Oct 20, 2022
d99deb9
Fix cli bug
tamarinvs19 Oct 20, 2022
e74317f
Simle style fix
tamarinvs19 Oct 20, 2022
3887c93
Moved test directory chooser to ui-commons and fixed graal error
zishkaz Oct 20, 2022
1247455
Removing go from pr branch
zishkaz Oct 24, 2022
037098f
Added gitignore file for js samples
zishkaz Oct 24, 2022
97f4d6a
Fix changes
tamarinvs19 Oct 24, 2022
7688990
Fix testClassName bug
tamarinvs19 Oct 25, 2022
29180b9
Rebase FileUtil.kt onto main
tamarinvs19 Oct 26, 2022
3129d70
Rebase files onto main
tamarinvs19 Oct 26, 2022
0152df5
Remove internal UtilMethodProvider
tamarinvs19 Oct 26, 2022
84ec8fc
Rebase onto main
tamarinvs19 Oct 26, 2022
b24caf9
Update language settings
tamarinvs19 Oct 26, 2022
fc52711
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 26, 2022
52085ec
Update gradle files
tamarinvs19 Oct 26, 2022
eba7d57
Fix js npm path and nyc validator for linux
tamarinvs19 Oct 26, 2022
be1adc7
Add conditions for ideType
tamarinvs19 Oct 26, 2022
f997039
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 26, 2022
9e0b25a
Update ide settings
tamarinvs19 Oct 26, 2022
83a9dcd
Add docs page about IDE
tamarinvs19 Oct 26, 2022
fcca3bf
Add docs link
tamarinvs19 Oct 26, 2022
f21a1cb
Fix Coverage error
tamarinvs19 Oct 26, 2022
2d7d817
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 26, 2022
05af2c5
Rebase onto main
tamarinvs19 Oct 26, 2022
68c5d7d
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 26, 2022
92f6f72
Rebase onto main
tamarinvs19 Oct 26, 2022
55c278b
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 27, 2022
1f1b016
Rebase onto main
tamarinvs19 Oct 27, 2022
1d5b379
Make GgGetClass sealed
tamarinvs19 Oct 27, 2022
3d98f82
Fix deprecated showYesNoDialog and ProjectFileIndex.SERVICE
tamarinvs19 Oct 27, 2022
dc242fe
Change IU to IC
tamarinvs19 Oct 27, 2022
bdd4442
Remove open from ClassId.elementClassId
tamarinvs19 Oct 27, 2022
c7b69a1
Code style refactoring
tamarinvs19 Oct 27, 2022
4432359
Add file with changes description
tamarinvs19 Oct 27, 2022
284928b
Update gitignores
tamarinvs19 Oct 27, 2022
7ee92d1
Remove com.jetbrains.intellij.idea:ideaIC dependency
tamarinvs19 Oct 27, 2022
67b9fe0
Change IU to IC
tamarinvs19 Oct 27, 2022
6d9522a
Added coverage mode buttons | JS
rudolf101 Oct 27, 2022
54faab1
Update CLI docs
rudolf101 Oct 28, 2022
5a50a55
Fixed JS basic coverage service algo
zishkaz Oct 28, 2022
60e96e9
Fixes JsConstantsModelProvider after master merge
zishkaz Oct 28, 2022
972607e
Removed unnecessary check for Mocha framework that failed in built pl…
zishkaz Oct 28, 2022
05d7b4e
Removed lateinit modifier
zishkaz Oct 28, 2022
f578890
Removed export statements from js samples
zishkaz Oct 28, 2022
f8f064a
Merge branch 'tamarinvs19/UnitTestBot_Family_PR' of https://github.co…
zishkaz Oct 28, 2022
aa4c1a8
Fix in Python CLI
tochilinak Oct 28, 2022
3409678
JS cli naming fix
zishkaz Oct 31, 2022
289b6b9
Rename python cli class
tamarinvs19 Oct 31, 2022
5f205e3
Move comment line in CodeGeneratorResult
tamarinvs19 Oct 31, 2022
ec8f1dd
Remove jClass from python/js branch
tamarinvs19 Oct 31, 2022
d66c1ba
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Oct 31, 2022
6295f85
Reworked text annotations in Mocha object
zishkaz Oct 31, 2022
1781fa8
Merge remote-tracking branch 'origin/tamarinvs19/UnitTestBot_Family_P…
zishkaz Oct 31, 2022
d53325b
Remove soot dependency from utbot-python and implement new CgRender m…
tamarinvs19 Oct 31, 2022
18acd32
Merge remote-tracking branch 'origin/tamarinvs19/UnitTestBot_Family_P…
tamarinvs19 Oct 31, 2022
2385dc6
Used withUtContext in JsTestGenerator and reworked Mocha TestFramewor…
zishkaz Oct 31, 2022
20e416a
Locally fixed explicit File.separator replacements
zishkaz Oct 31, 2022
6dff767
Removed unnecessary catch
rudolf101 Nov 1, 2022
766616c
Fix weak comments
rudolf101 Nov 1, 2022
58415b3
Removed unnecessary try catch
rudolf101 Nov 1, 2022
f73d3fd
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Nov 2, 2022
5c9e7fb
Fix CgRenderer bugs after merge
tamarinvs19 Nov 2, 2022
a8d4d92
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Nov 2, 2022
0b66cab
Add README.md to utbot-python-cli
tamarinvs19 Nov 2, 2022
7a8893c
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Nov 3, 2022
98ac84a
JS code refactoring
zishkaz Nov 3, 2022
d0815c8
Merge remote-tracking branch 'origin/tamarinvs19/UnitTestBot_Family_P…
zishkaz Nov 3, 2022
7e16b66
Removed unnecessary JS file parsing
zishkaz Nov 7, 2022
dcfa7eb
Refactor utbot-intellij-python
tamarinvs19 Nov 7, 2022
a781aa9
Refactor utbot-python
tamarinvs19 Nov 7, 2022
9074ed2
Fix "Language <> is disabled" problem from Issue #1329
tamarinvs19 Nov 9, 2022
f9698b3
Merge branch 'main' into tamarinvs19/UnitTestBot_Family_PR
tamarinvs19 Nov 9, 2022
37c9564
Change GenerateTestsModel to BaseTestsModel
tamarinvs19 Nov 9, 2022
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
Prev Previous commit
Next Next commit
Code style refactoring
  • Loading branch information
tamarinvs19 committed Oct 27, 2022
commit c7b69a10446c9df762e7eda9c811f071feb0a29b
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ fun testFrameworkByName(testFramework: String): TestFramework =
* This feature allows to enable additional mockito-core settings required for static mocking.
* It is implemented via adding special file "MockMaker" into test project resources.
*/
abstract class StaticsMocking(
sealed class StaticsMocking(
var isConfigured: Boolean = false,
override val id: String,
override val displayName: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ interface CgNameGenerator {
* Class that generates names for methods and variables
* To avoid name collisions it uses existing names information from CgContext
*/
open class CgNameGeneratorImpl(val context: CgContext)
class CgNameGeneratorImpl(val context: CgContext)
: CgNameGenerator, CgContextOwner by context {

override fun variableName(base: String, isMock: Boolean, isStatic: Boolean): String {
Expand Down Expand Up @@ -130,7 +130,7 @@ open class CgNameGeneratorImpl(val context: CgContext)
/**
* Creates a new indexed variable name by [base] name.
*/
fun nextIndexedVarName(base: String): String =
private fun nextIndexedVarName(base: String): String =
infiniteInts()
.map { "$base$it" }
.first { it !in existingVariableNames }
Expand All @@ -140,20 +140,20 @@ open class CgNameGeneratorImpl(val context: CgContext)
*
* @param skipOne shows if we add "1" to first method name or not
*/
fun nextIndexedMethodName(base: String, skipOne: Boolean = false): String =
private fun nextIndexedMethodName(base: String, skipOne: Boolean = false): String =
infiniteInts()
.map { if (skipOne && it == 1) base else "$base$it" }
.first { it !in existingMethodNames }

fun createNameFromKeyword(baseName: String): String = when(codegenLanguage) {
private fun createNameFromKeyword(baseName: String): String = when(codegenLanguage) {
CodegenLanguage.JAVA -> nextIndexedVarName(baseName)
CodegenLanguage.KOTLIN -> {
// use backticks for first variable with keyword name and use indexed names for all next such variables
if (baseName !in existingVariableNames) "`$baseName`" else nextIndexedVarName(baseName)
}
}

fun createExecutableName(executableId: ExecutableId): String {
private fun createExecutableName(executableId: ExecutableId): String {
return when (executableId) {
is ConstructorId -> executableId.classId.prettifiedName // TODO: maybe we need some suffix e.g. "Ctor"?
is MethodId -> executableId.name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ interface CgCallableAccessManager {
operator fun ClassId.get(fieldId: FieldId): CgStaticFieldAccess
}

class CgCallableAccessManagerImpl(val context: CgContext) : CgCallableAccessManager,
internal class CgCallableAccessManagerImpl(val context: CgContext) : CgCallableAccessManager,
CgContextOwner by context {

private val statementConstructor by lazy { getStatementConstructorBy(context) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ interface CgFieldStateManager {
fun rememberFinalEnvironmentState(info: StateModificationInfo)
}

class CgFieldStateManagerImpl(val context: CgContext)
internal class CgFieldStateManagerImpl(val context: CgContext)
: CgContextOwner by context,
CgFieldStateManager,
CgCallableAccessManager by getCallableAccessManagerBy(context),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ interface CgStatementConstructor {
fun wrapTypeIfRequired(baseType: ClassId): ClassId
}

class CgStatementConstructorImpl(context: CgContext) :
internal class CgStatementConstructorImpl(context: CgContext) :
CgStatementConstructor,
CgContextOwner by context,
CgCallableAccessManager by getCallableAccessManagerBy(context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ internal class CgKotlinRenderer(context: CgRendererContext, printer: CgPrinter =
val elementsInLine = arrayElementsInLine(elementType)

if (elementType.isPrimitive) {
val prefix = elementType.name.lowercase(Locale.getDefault())
val prefix = elementType.name.toLowerCase()
print("${prefix}ArrayOf(")
element.values.renderElements(elementsInLine)
print(")")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import org.utbot.framework.codegen.model.constructor.name.CgNameGenerator
import org.utbot.framework.codegen.model.constructor.name.CgNameGeneratorImpl
import org.utbot.framework.codegen.model.constructor.tree.CgCallableAccessManager
import org.utbot.framework.codegen.model.constructor.tree.CgCallableAccessManagerImpl
import org.utbot.framework.codegen.model.constructor.tree.CgFieldStateManager
import org.utbot.framework.codegen.model.constructor.tree.CgFieldStateManagerImpl
import org.utbot.framework.codegen.model.constructor.tree.CgMethodConstructor
import org.utbot.framework.codegen.model.constructor.tree.CgVariableConstructor
import org.utbot.framework.codegen.model.constructor.util.CgStatementConstructor
Expand Down Expand Up @@ -39,10 +41,11 @@ abstract class CgLanguageAssistant {
open fun getNameGeneratorBy(context: CgContext): CgNameGenerator = CgNameGeneratorImpl(context)
open fun getCallableAccessManagerBy(context: CgContext): CgCallableAccessManager =
CgCallableAccessManagerImpl(context)

open fun getStatementConstructorBy(context: CgContext): CgStatementConstructor = CgStatementConstructorImpl(context)
open fun getVariableConstructorBy(context: CgContext): CgVariableConstructor = CgVariableConstructor(context)
open fun getMethodConstructorBy(context: CgContext): CgMethodConstructor = CgMethodConstructor(context)
open fun getCgFieldStateManager(context: CgContext): CgFieldStateManager = CgFieldStateManagerImpl(context)

abstract fun getLanguageTestFrameworkManager(): LanguageTestFrameworkManager
abstract fun cgRenderer(context: CgRendererContext, printer: CgPrinter): CgAbstractRenderer
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import com.intellij.openapi.progress.ProgressIndicator
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Computable
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.wm.ToolWindowManager
import com.intellij.psi.*
import com.intellij.psi.codeStyle.CodeStyleManager
Expand Down Expand Up @@ -74,9 +73,6 @@ import java.nio.file.Path
import java.util.concurrent.CancellationException
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
import org.utbot.intellij.plugin.ui.utils.TestSourceRoot
import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle

object CodeGenerationController {
private val logger = KotlinLogging.logger {}
Expand Down Expand Up @@ -850,7 +846,7 @@ object CodeGenerationController {
}
}

fun unblockDocument(project: Project, document: Document) {
private fun unblockDocument(project: Project, document: Document) {
PsiDocumentManager.getInstance(project).apply {
commitDocument(document)
doPostponedOperationsAndUnblockDocument(document)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,62 @@ package org.utbot.python.framework.codegen.model.constructor.name
import org.utbot.framework.codegen.PythonImport
import org.utbot.framework.codegen.isLanguageKeyword
import org.utbot.framework.codegen.model.constructor.context.CgContext
import org.utbot.framework.codegen.model.constructor.name.CgNameGeneratorImpl
import org.utbot.framework.codegen.model.constructor.context.CgContextOwner
import org.utbot.framework.codegen.model.constructor.name.CgNameGenerator
import org.utbot.framework.plugin.api.ClassId
import org.utbot.framework.plugin.api.ConstructorId
import org.utbot.framework.plugin.api.ExecutableId
import org.utbot.framework.plugin.api.MethodId
import org.utbot.python.framework.api.python.NormalizedPythonAnnotation
import org.utbot.python.framework.api.python.util.toSnakeCase

class PythonCgNameGenerator(context_: CgContext) : CgNameGeneratorImpl(context_) {
internal fun infiniteInts(): Sequence<Int> =
generateSequence(1) { it + 1 }

class PythonCgNameGenerator(val context: CgContext)
: CgNameGenerator, CgContextOwner by context {

private fun nextIndexedVarName(base: String): String =
infiniteInts()
.map { "$base$it" }
.first { it !in existingVariableNames }

private fun nextIndexedMethodName(base: String, skipOne: Boolean = false): String =
infiniteInts()
.map { if (skipOne && it == 1) base else "$base$it" }
.first { it !in existingMethodNames }

private fun createNameFromKeyword(baseName: String): String =
nextIndexedVarName(baseName)

private fun createExecutableName(executableId: ExecutableId): String {
return when (executableId) {
is ConstructorId -> executableId.classId.prettifiedName
is MethodId -> executableId.name
}
}

override fun nameFrom(id: ClassId): String =
when (id) {
is NormalizedPythonAnnotation -> "var"
else -> id.simpleName.toSnakeCase()
}

override fun variableName(base: String, isMock: Boolean, isStatic: Boolean): String {
val baseName = when {
isMock -> base + "_mock"
isStatic -> base + "_static"
else -> base
}
return when {
baseName in existingVariableNames -> nextIndexedVarName(baseName)
isLanguageKeyword(baseName, context.cgLanguageAssistant) -> createNameFromKeyword(baseName)
else -> baseName
}.also {
existingVariableNames = existingVariableNames.add(it)
}
}

override fun variableName(type: ClassId, base: String?, isMock: Boolean): String {
val baseName = base?.toSnakeCase() ?: nameFrom(type)
val importedModuleNames = collectedImports.mapNotNull {
Expand Down Expand Up @@ -45,6 +87,14 @@ class PythonCgNameGenerator(context_: CgContext) : CgNameGeneratorImpl(context_)
return name
}

override fun parameterizedTestMethodName(dataProviderMethodName: String): String {
TODO("Not yet implemented")
}

override fun dataProviderMethodNameFor(executableId: ExecutableId): String {
TODO("Not yet implemented")
}

override fun errorMethodNameFor(executableId: ExecutableId): String {
val executableName = createExecutableName(executableId)
val newName = when (val base = "test_${executableName.toSnakeCase()}_errors") {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.utbot.python.framework.codegen.model.constructor.tree

import org.utbot.framework.codegen.model.constructor.context.CgContext
import org.utbot.framework.codegen.model.constructor.tree.CgFieldStateManagerImpl
import org.utbot.framework.codegen.model.constructor.tree.CgMethodConstructor
import org.utbot.framework.codegen.model.tree.*
import org.utbot.framework.fields.StateModificationInfo
Expand Down Expand Up @@ -42,7 +41,7 @@ class PythonCgMethodConstructor(context: CgContext) : CgMethodConstructor(contex
(context.cgLanguageAssistant as PythonCgLanguageAssistant).memoryObjects.clear()

val modificationInfo = StateModificationInfo()
val fieldStateManager = CgFieldStateManagerImpl(context)
val fieldStateManager = context.cgLanguageAssistant.getCgFieldStateManager(context)
// TODO: move such methods to another class and leave only 2 public methods: remember initial and final states
val mainBody = {
substituteStaticFields(statics)
Expand Down