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

adding assertion changes to handle using org.testing.Assert module #43454

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

someshfengde
Copy link

Purpose

Replace assert statements with a proper assertion error

Fixes #41480

Approach

used org.testing.Assert

Check List

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


someshfengde seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@@ -42,6 +42,7 @@
import org.wso2.ballerinalang.compiler.util.CompilerOptions;
import org.wso2.ballerinalang.programfile.CompiledBinaryFile;
import org.wso2.ballerinalang.programfile.PackageFileWriter;
import org.testing.Assert;
Copy link
Contributor

@gimantha gimantha Oct 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@someshfengde This not the correct java package. (Use java.lang.AssertError) Please run ./gradlew build in the project root folder to validate whether the build is successfully passing locally

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes sure

Copy link
Contributor

@ravinperera00 ravinperera00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, great start with the pull request as a first time contributor! Left a few comments to improve the code. As mentioned by others, it's considered good practice to test your changes locally if possible prior to sending a pull request. You should be able to find a detailed explanation regarding the build and contribution process here. This guide also explains how to write good commit messages, feel free to have a look at that as well. This will help keep the commit messages consistent within the repository. Also, feel free to connect with the Ballerina community through the recommended channels for help if needed. Great work so far and keep contributing!

@@ -1314,7 +1315,7 @@ public BType readType(int cpI) throws IOException {
// setDocumentation(varSymbol, attrData); // TODO fix

Object poppedRecordType = compositeStack.pop();
assert poppedRecordType == recordType;
org.testng.Assert.assertEquals(poppedRecordType, recordType, "Popped record type does not match the expected record type.");
Copy link
Contributor

@ravinperera00 ravinperera00 Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noticed a minor typo here org.testng.Assert.assertEquals, I think it should be org.testing.Assert.assertEquals looking at your imports. Also, IMO it's better to use the format Assert.methodName() similar to Line 1351 if possible.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been trying to make a build successful for last few days but stuck on following error

/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java:4840: error: cannot find symbol
                Assert.assertEquals(patternKind, SyntaxKind.WILDCARD_BINDING_PATTERN, "Expected patternKind to be WILDCARD_BINDING_PATTERN");
                ^
  symbol:   variable Assert

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

though I've imported testng package at the op of file with import org.testng.Assert;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I can see, you have imported a package called org.testing.Assert and not org.testng.Assert. Are you sure the required package was imported?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes I've just pushed the latest version of my local code to git

here's the complete error stack

Starting a Gradle Daemon (subsequent builds will be faster)

> Task :ballerina-lang:compileJava
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:414: error: <identifier> expected
        moduleContext.bLangPackage = pkgNode;
                                  ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:417: error: class, interface, enum, or record expected
    static void generateCodeInternal(ModuleContext moduleContext,
           ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:422: error: class, interface, enum, or record expected
        CompilerPhaseRunner compilerPhaseRunner = CompilerPhaseRunner.getInstance(compilerContext);
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:423: error: class, interface, enum, or record expected
        if (bootstrapLangLibName != null) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:425: error: class, interface, enum, or record expected
        } else {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:428: error: class, interface, enum, or record expected
            } catch (Throwable t) {
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:431: error: class, interface, enum, or record expected
                    t.printStackTrace(new PrintWriter(errors));
                    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:432: error: class, interface, enum, or record expected
                    return errors.toString();
                    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:433: error: class, interface, enum, or record expected
                }).get();
                ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:434: error: class, interface, enum, or record expected
                compilerPhaseRunner.addDiagnosticForUnhandledException(moduleContext.bLangPackage, t);
                ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:435: error: class, interface, enum, or record expected
                return;
                ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:436: error: class, interface, enum, or record expected
            }
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:443: error: class, interface, enum, or record expected
        if (Diagnostics.hasErrors(moduleContext.diagnostics())) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:445: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:451: error: class, interface, enum, or record expected
        if (Diagnostics.hasErrors(moduleContext.diagnostics())) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:453: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:459: error: class, interface, enum, or record expected
        if (Diagnostics.hasErrors(moduleContext.diagnostics())) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:461: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:465: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:471: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:476: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:480: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:482: error: class, interface, enum, or record expected
        if (Boolean.parseBoolean(compilerOptions.get(CompilerOptionName.DUMP_BIR_FILE))) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:484: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:487: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:492: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:495: error: class, interface, enum, or record expected
        try {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:497: error: class, interface, enum, or record expected
            if (birPackageFile == null) {
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:500: error: class, interface, enum, or record expected
                moduleContext.bLangPackage.symbol.birPackageFile = birPackageFile;
                ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:501: error: class, interface, enum, or record expected
            }
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:503: error: class, interface, enum, or record expected
            birContent.writeBytes(pkgBirBinaryContent);
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:504: error: class, interface, enum, or record expected
            return birContent;
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:505: error: class, interface, enum, or record expected
        } catch (IOException e) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:508: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:513: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:521: error: class, interface, enum, or record expected
        BIRPackageSymbolEnter birPackageSymbolEnter = BIRPackageSymbolEnter.getInstance(compilerContext);
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:523: error: class, interface, enum, or record expected
        PackageID moduleCompilationId = moduleContext.descriptor().moduleCompilationId();
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:524: error: class, interface, enum, or record expected
        moduleContext.bPackageSymbol = birPackageSymbolEnter.definePackage(moduleCompilationId, moduleContext.birBytes);
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:525: error: class, interface, enum, or record expected
        moduleContext.bPackageSymbol.exported = moduleContext.isExported();
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:526: error: class, interface, enum, or record expected
        moduleContext.bPackageSymbol.descriptor = moduleContext.descriptor();
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:527: error: class, interface, enum, or record expected
        packageCache.putSymbol(moduleCompilationId, moduleContext.bPackageSymbol);
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:528: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:536: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:540: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:544: error: class, interface, enum, or record expected
        for (DocumentId documentId : this.srcDocumentIds()) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:546: error: class, interface, enum, or record expected
            srcDocContextMap.put(documentId, documentContext.duplicate());
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:547: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:550: error: class, interface, enum, or record expected
        for (DocumentId documentId : this.testSrcDocumentIds()) {
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:552: error: class, interface, enum, or record expected
            testDocContextMap.put(documentId, documentContext.duplicate());
            ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:553: error: class, interface, enum, or record expected
        }
        ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:557: error: class, interface, enum, or record expected
    }
    ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:589: error: class, interface, enum, or record expected
}
^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/types/BUnionType.java:28: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/types/BTupleType.java:26: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java:189: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/symbols/BServiceSymbol.java:25: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:45: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:414: error: package moduleContext does not exist
        moduleContext.bLangPackage = pkgNode;
                     ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java:502: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java:309: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:128: error: package org.testng does not exist
import org.testng.Assert; 
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmPackageGen.java:72: error: cannot find symbol
import org.testng;
          ^
  symbol:   class testng
  location: package org
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/split/JvmCreateTypeGen.java:59: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/types/BUnionType.java:114: error: cannot find symbol
        Assert.assertTrue(memberTypes.isEmpty());
        ^
  symbol:   variable Assert
  location: class BUnionType
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/types/BTupleType.java:175: error: cannot find symbol
        Assert.assertTrue(members.isEmpty());
        ^
  symbol:   variable Assert
  location: class BTupleType

> Task :ballerina-runtime:test

Gradle Test Executor 2 STANDARD_ERROR
    SLF4J: No SLF4J providers were found.
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.

> Task :ballerina-lang:compileJava
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java:2996: error: cannot find symbol
            Assert.assertEquals(TypeTags.READONLY, compatibleType.tag, "Expected type tag to be READONLY");
            ^
  symbol:   variable Assert
  location: class TypeChecker
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/model/symbols/BServiceSymbol.java:76: error: cannot find symbol
        Assert.assertNotNull(type, "Provided type for listener cannot be null");
        ^
  symbol:   variable Assert
  location: class BServiceSymbol
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Module.java:142: error: cannot find symbol
            this.moduleMd = this.moduleContext.moduleMdContext().map(c ->
                                              ^
  symbol:   method moduleMdContext()
  location: variable moduleContext of type ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Module.java:190: error: cannot find symbol
            moduleMdContext = oldModule.moduleContext.moduleMdContext().orElse(null);
                                                     ^
  symbol:   method moduleMdContext()
  location: variable moduleContext of type ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageResolution.java:314: error: cannot find symbol
        LinkedHashSet<ModuleLoadRequest> allModuleLoadRequests = new ModuleContext.OverwritableLinkedHashSet();
                                                                                  ^
  symbol:   class OverwritableLinkedHashSet
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:412: error: cannot find symbol
            compilerPhaseRunner.addDiagnosticForUnhandledException(pkgNode, t);
                                                                            ^
  symbol:   variable t
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleContext.java:414: error: cannot find symbol
        moduleContext.bLangPackage = pkgNode;
                                     ^
  symbol:   variable pkgNode
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Package.java:795: error: cannot find symbol
                        oldModuleContext.moduleMdContext().orElse(null),
                                        ^
  symbol:   method moduleMdContext()
  location: variable oldModuleContext of type ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageContext.java:369: error: cannot find symbol
            duplicatedModuleContextMap.put(moduleId, moduleContext.duplicate(project));
                                                                  ^
  symbol:   method duplicate(Project)
  location: variable moduleContext of type ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:54: error: cannot find symbol
            ModuleContext.generateCodeInternal(moduleContext, compilerBackend, compilerContext);
                         ^
  symbol:   method generateCodeInternal(ModuleContext,CompilerBackend,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:83: error: cannot find symbol
            ModuleContext.generateCodeInternal(moduleContext, compilerBackend, compilerContext);
                         ^
  symbol:   method generateCodeInternal(ModuleContext,CompilerBackend,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:109: error: cannot find symbol
            ModuleContext.generateCodeInternal(moduleContext, compilerBackend, compilerContext);
                         ^
  symbol:   method generateCodeInternal(ModuleContext,CompilerBackend,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:132: error: cannot find symbol
            ModuleContext.generateCodeInternal(moduleContext, compilerBackend, compilerContext);
                         ^
  symbol:   method generateCodeInternal(ModuleContext,CompilerBackend,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:163: error: cannot find symbol
            ModuleContext.loadBirBytesInternal(moduleContext);
                         ^
  symbol:   method loadBirBytesInternal(ModuleContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:171: error: cannot find symbol
            ModuleContext.resolveDependenciesFromBALAInternal(moduleContext);
                         ^
  symbol:   method resolveDependenciesFromBALAInternal(ModuleContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:178: error: cannot find symbol
            ModuleContext.loadPackageSymbolInternal(moduleContext, compilerContext);
                         ^
  symbol:   method loadPackageSymbolInternal(ModuleContext,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:187: error: cannot find symbol
            ModuleContext.loadPlatformSpecificCodeInternal(moduleContext, compilerBackend);
                         ^
  symbol:   method loadPlatformSpecificCodeInternal(ModuleContext,CompilerBackend)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:199: error: cannot find symbol
            ModuleContext.resolveDependenciesFromBALAInternal(moduleContext);
                         ^
  symbol:   method resolveDependenciesFromBALAInternal(ModuleContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:206: error: cannot find symbol
            ModuleContext.loadPackageSymbolInternal(moduleContext, compilerContext);
                         ^
  symbol:   method loadPackageSymbolInternal(ModuleContext,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:215: error: cannot find symbol
            ModuleContext.loadPlatformSpecificCodeInternal(moduleContext, compilerBackend);
                         ^
  symbol:   method loadPlatformSpecificCodeInternal(ModuleContext,CompilerBackend)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:232: error: cannot find symbol
            ModuleContext.loadPackageSymbolInternal(moduleContext, compilerContext);
                         ^
  symbol:   method loadPackageSymbolInternal(ModuleContext,CompilerContext)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:241: error: cannot find symbol
            ModuleContext.loadPlatformSpecificCodeInternal(moduleContext, compilerBackend);
                         ^
  symbol:   method loadPlatformSpecificCodeInternal(ModuleContext,CompilerBackend)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/io/ballerina/projects/ModuleCompilationState.java:265: error: cannot find symbol
            ModuleContext.loadPlatformSpecificCodeInternal(moduleContext, compilerBackend);
                         ^
  symbol:   method loadPlatformSpecificCodeInternal(ModuleContext,CompilerBackend)
  location: class ModuleContext
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java:4840: error: cannot find symbol
                Assert.assertEquals(patternKind, SyntaxKind.WILDCARD_BINDING_PATTERN, "Expected patternKind to be WILDCARD_BINDING_PATTERN");
                ^
  symbol:   variable Assert
  location: class BLangNodeBuilder
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java:3564: error: cannot find symbol
                Assert.assertEquals(NodeKind.IF, elseStmt.getKind(), "Expected elseStmt to be of kind IF");
                ^
  symbol:   variable Assert
  location: class Desugar
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:1318: error: package org.testng does not exist
                    org.testng.Assert.assertEquals(poppedRecordType, recordType, "Popped record type does not match the expected record type.");
                              ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:1351: error: cannot find symbol
                    Assert.assertEquals(poppedRefType, typeReferenceType, "Popped reference type does not match the expected type reference.");
                    ^
  symbol:   variable Assert
  location: class BIRPackageSymbolEnter.BIRTypeReader
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:1479: error: cannot find symbol
                    Assert.assertEquals(poppedUnionType, unionType, "Popped union type does not match the expected union type.");
                    ^
  symbol:   variable Assert
  location: class BIRPackageSymbolEnter.BIRTypeReader
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:1555: error: cannot find symbol
                    Assert.assertEquals(poppedErrorType, errorType, "Popped error type does not match expected error type.");
                    ^
  symbol:   variable Assert
  location: class BIRPackageSymbolEnter.BIRTypeReader
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java:1686: error: cannot find symbol
                    Assert.assertEquals(poppedObjType, objectType, "Popped object type does not match the expected object type.");
                    ^
  symbol:   variable Assert
  location: class BIRPackageSymbolEnter.BIRTypeReader
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/writer/BIRInstructionWriter.java:54: error: package org.testng does not exist
import org.testng.Assert;
                 ^
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmPackageGen.java:668: error: cannot find symbol
            Assert.assertNull(id, "PackageID is null");
            ^
  symbol:   variable Assert
  location: class JvmPackageGen
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/split/JvmCreateTypeGen.java:604: error: cannot find symbol
                    Assert.assertTrue(fieldExists);
                    ^
  symbol:   variable Assert
  location: class JvmCreateTypeGen
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/split/JvmCreateTypeGen.java:605: error: cannot find symbol
                    Assert.assertTrue(hashExists);
                    ^
  symbol:   variable Assert
  location: class JvmCreateTypeGen
/Users/som/Downloads/code/ballerina-lang/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/writer/BIRInstructionWriter.java:428: error: cannot find symbol
            Assert.assertNotNull(newInstance.externalPackageId, "External package ID is null");
            ^
  symbol:   variable Assert
  location: class BIRInstructionWriter
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API that is marked for removal.
Note: Recompile with -Xlint:removal for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
100 errors

> Task :ballerina-lang:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ballerina-lang:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --info option to get more log output.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 40s
112 actionable tasks: 19 executed, 1 from cache, 92 up-to-date

Copy link
Contributor

@ravinperera00 ravinperera00 Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try using the package suggested by @gimantha in #43454 (comment) for ModuleContext.java instead of org.testng.Assert as testng is only allowed in test modules (modules written to test implementation code, commonly found under a tests folder). Also, I would suggest building without any changes to the code first and then adding changes one by one to see which particular change breaks the code as this will make the debugging process easier. Using a good IDE could also help adding missing imports and fixing dependency issues. If the problems continue, it would be helpful to take this to our community discord as this could benefit other contributors facing similar issues.

Copy link
Contributor

@ravinperera00 ravinperera00 Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found this article written by a fellow contributor from the Ballerina Discord. Maybe it'll help as well. Have a look. https://github.com/lwpamihiranga/ballerina-contributors-guide

@@ -1475,7 +1476,7 @@ public BType readType(int cpI) throws IOException {
unionType.setOriginalMemberTypes(originalMemberTypes);

Object poppedUnionType = compositeStack.pop();
assert poppedUnionType == unionType;
Assert.assertEquals(poppedUnionType, unionType, "Popped union type does not match the expected union type.");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we simplify the errors without explaining the details of the implementation. Here popped refer to the use of a stack. How about something like "Union type does not match the expected type" here? @gimantha what do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. yes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a test module. So we cannot use testng package here. We can do something like this.
if (poppedRecordType != recordType) throw new AssertionError();

…ompiler/BIRPackageSymbolEnter.java

Co-authored-by: Ravin Perera <[email protected]>
@someshfengde
Copy link
Author

someshfengde commented Oct 7, 2024 via email

@gimantha
Copy link
Contributor

gimantha commented Oct 7, 2024

yes checked it just pushed the latest version of code I have in local

On Mon, Oct 7, 2024 at 1:05 PM Ravin Perera @.> wrote: @.* commented on this pull request. ------------------------------ In compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/BIRPackageSymbolEnter.java <#43454 (comment)> : > @@ -1314,7 +1315,7 @@ public BType readType(int cpI) throws IOException { // setDocumentation(varSymbol, attrData); // TODO fix Object poppedRecordType = compositeStack.pop(); - assert poppedRecordType == recordType; + org.testng.Assert.assertEquals(poppedRecordType, recordType, "Popped record type does not match the expected record type."); From what I can see, you have imported a package called org.testing.Assert and not org.testng.Assert. Are you sure the required package was imported? — Reply to this email directly, view it on GitHub <#43454 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKBFX5NYIBCNHVQCFA2VL3DZ2I2VTAVCNFSM6AAAAABPLHXCN2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNJRGE2DINBWGQ . You are receiving this because you were mentioned.Message ID: @.*** com>

@someshfengde Hello!
As @ravinperera00 mentioned, please read the best practices for contributing to this repo here
I have noticed that your commit message does not follow the standards. For example, your last commit message testng update should be amended as Update testng package

@@ -42,6 +42,7 @@
import org.wso2.ballerinalang.compiler.util.CompilerOptions;
import org.wso2.ballerinalang.programfile.CompiledBinaryFile;
import org.wso2.ballerinalang.programfile.PackageFileWriter;
import org.testng.Assert;
Copy link
Contributor

@gimantha gimantha Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have to use java.lang.AssertionError exception in non-test source code.

@gimantha
Copy link
Contributor

@someshfengde Hope you are working on this issue. Let us know if you are stuck with something

@gimantha
Copy link
Contributor

@someshfengde Hi, Are you working on this pull request?

@someshfengde
Copy link
Author

@someshfengde Hi, Are you working on this pull request?

Build is failing when I tried not sure how to proceed further

@ravinperera00
Copy link
Contributor

@someshfengde Can you join our Discord and drop a question there (in the Hactoberfest channel). Tell us where you are stuck and the problems you are facing. Our community should be able to help you proceed through that. Mentioning your problems there might help others who are facing similar issues as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task]: Replace assert statements with proper assertion error
4 participants